为了测试__FILE__, __LINE__, __FUNCTION__, 又写了一个C++版本的测试程序,源码如下:

#include <iostream>
#include <string>using namespace std;class CUser
{
private:int m_nId;string m_sName;public:CUser(int id, string name);~CUser();void display();
};CUser::CUser(int id, string name)
{m_nId = id;m_sName = name;
}CUser::~CUser()
{cout<<"Bye-bye, "<<m_nId<<endl;
}void CUser::display()
{cout<<"File: "<<__FILE__<<", Line: "<<__LINE__<<", Function: "<<__FUNCTION__<<endl;cout<<"id: "<<m_nId<<", name: "<<m_sName<<endl;
}int main()
{CUser a(1, "Joe Black");CUser b(2, "Miss Right");a.display();b.display();return 0;
}

经过测试:

1. 上面的代码在vc6中编译出错,提示为:error C2065: '__FUNCTION__' : undeclared identifier

2. 上面的代码在vc2010中测试成功,运行结果为:

File: e:\program\vc2010\delme\delme\t.cpp, Line: 32, Function:CUser::display
id: 1, name: Joe Black
File: e:\program\vc2010\delme\delme\t.cpp, Line: 32, Function: CUser::display
id: 2, name: Miss Right
Bye-bye, 2
Bye-bye, 1
请按任意键继续. . .

3. 上面的代码在Fedora下测试也成功了,运行结果为:

File: t.cpp, Line: 32, Function:display
id: 1, name: Joe Black
File: t.cpp, Line: 32, Function: display
id: 2, name: Miss Right
Bye-bye, 2
Bye-bye, 1

注意到结果中的区别了吗?

1) 在VC2010中,__FILE__会把当前文件的全路径都输出来;但是在linux下,只是输出了文件名,不包含路径;

2) 在vc2010中,__FUNCTION__会把类名和函数名都输出来;但是在linux下,只是输出函数名,却不会输出类名。

显示当前行号、文件名和函数名(二)相关推荐

  1. C语言实战篇-----调试关键参数+printf输出_文件名_函数名_执行数!!!

    背景说明 这边先来个案例 案例中实现了函数名的文件,调试执行的行数,以及函数名 我们在代码中会经常看到以下定义 #define SAK_PRINT_LOG(module,level,fmt, ...) ...

  2. 显示当前行号、文件名和函数名

    在编程时,有时需要知道当前的代码是在第几行,当前文件名是什么,以及当前执行的是哪个函数?下面的代码可以轻松地完成这种功能: #include <stdio.h> void test() { ...

  3. 【Qt】qt打印文件名、函数名、行号

    #include <QDebug> #define MyDebug qDebug()<<"[FILE:"<<__FILE__<<&q ...

  4. linux c 中 当前函数名 文件名 可变参 不定参 宏使用

    在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难.因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在. 下面定义了宏,分别是WA ...

  5. python 打印当前行号_python中获取当前位置所在的行号和函数名(转)

    http://www.vimer.cn/2010/12/%E5%9C%A8python%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E4%BD%8D%E7 ...

  6. printf 打印 文件名 函数名 行号

    输出源文件的标题,目前执行行的行数,编译的日期,编译的时间. Linux下实现 #include <stdio.h> int main() { printf("当前代码行:%d\ ...

  7. python获取代码当前行数_Python实验室一段日志代码,获取当前调用的函数名和行号...

    代码如下: #............. class CrawlerLog(object): def __init__(self, logName=None): #............ self. ...

  8. python中使用sys模板和logging模块获取行号和函数名的方法

    From: http://www.jb51.net/article/49026.htm 这篇文章主要介绍了python中使用sys模板和logging模块获取行号和函数名的方法,需要的朋友可以参考下 ...

  9. python查找指定字符所在行号_在python中获取当前位置所在的行号和函数名

    对于python,这几天一直有两个问题在困扰我: 1.python中没办法直接取得当前的行号和函数名.这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__ ...

最新文章

  1. 人脸识别引爆下一代生物支付四军之战
  2. Linux如何编译安装源码包软件
  3. Android TextView里直接显示图片的三种方法
  4. 今天被编码搞惨了,页面和脚本的编码一致性
  5. TImm 笔记: 训练模型
  6. 13. PDE_PTE属性
  7. java里的super杀意思,java中Super到底是什么意思?必须举例说明!
  8. 【Qt开发】Qt标准对话框之QMessageBox
  9. 能玩游戏的计算机名字,没有手机和电脑时,孩子们最喜欢的游戏,简单却能玩上一整天!...
  10. 如何用 JavaScript+Canvas 开发一款超级烧脑小游戏?
  11. Transact-SQL管理与开发实例精粹
  12. H3C MSR系列路由器负载分担、链路备份的实现过程详解
  13. Delphi第三方控件大比拼
  14. python中sys的用法
  15. Gradle配置及同一应用不同版本配置不同资源文件,不同签名,包名进行打包
  16. windows通知栏中显示 微信等应用软件 的通知
  17. Python实现将人脸表情数据集fer2013转化为图像形式存储本地
  18. error converting to execution character set illegal byte sequence报错解决办法
  19. Robocup 仿真2D 学习笔记(三)最初的改进1
  20. K8s安装 遇到错误:docker-ce conflicts with 2:docker-1.13.1-208.git7d71120.el7_9.x86_64

热门文章

  1. Android小項目之---吃飯選哪?--》選擇對話框(附源碼)
  2. ISAPI_Rewrite 规则说明
  3. leetcode1046. 最后一块石头的重量(堆)
  4. react css多个变量_如何使用CSS变量和React上下文创建主题引擎
  5. aws lambda_如何为AWS Lambda实施日志聚合
  6. laravel -admin 禁止某一行删除
  7. JS JAVASCRIPT 判断两个日期相隔多少天
  8. 【CSS】css特殊性-优先级-权重
  9. HDU 2202 计算几何
  10. random---伪随机数生成器