显示当前行号、文件名和函数名(二)
来源:互联网 发布:矩阵特征值和秩的关系 编辑:程序博客网 时间:2024/04/27 05:08
为了测试__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下,只是输出函数名,却不会输出类名。
- 显示当前行号、文件名和函数名(二)
- 显示当前行号、文件名和函数名
- python 获取当前行号 函数名 文件名
- C++打印当前文件名,行号,当前函数名
- python 获取当前函数名和行号
- C++显示调用函数和行号文件名
- linux编程中显示文件名,函数名,行号
- c语言输出文件名函数名和行号
- C语言 打印文件名,行号,函数名
- Java打印文件名、函数名、行号
- Android 打印文件名、函数名、行号
- printf 打印 文件名 函数名 行号
- Java打印文件名、函数名、行号
- C++输出文件名、函数名、行号
- c#获取当前代码运行的文件名、运行的函数名以及当前代码执行的行号
- python程序获取当前行号和文件名
- 宏定义之二(连接符,可变参数,文件名,行号,函数名)
- Java获取文件名/类名/函数名/行号的方法
- Ruby中,ActiveRecord 初次使用心得(三)
- vs下qt工程设置exe图标
- NoSQL
- 【Android编程之旅】有奖征集活动开始啦!
- DES With Perl
- 显示当前行号、文件名和函数名(二)
- target runtime apache tomcat v6.0 is not defined
- HTML弹出对话框页面
- 用户简单注册
- ExtJS 开发总结
- 你选择了吗!
- 虚拟机安装redhat 9.0后,解决屏幕不能全屏以及避免鼠标来回切换的方法
- 调整ViewState的位置,搜索引擎优化
- 一个站在web开发门口的人员的疑惑