显示当前行号、文件名和函数名(二)
为了测试__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下,只是输出函数名,却不会输出类名。
显示当前行号、文件名和函数名(二)相关推荐
- C语言实战篇-----调试关键参数+printf输出_文件名_函数名_执行数!!!
背景说明 这边先来个案例 案例中实现了函数名的文件,调试执行的行数,以及函数名 我们在代码中会经常看到以下定义 #define SAK_PRINT_LOG(module,level,fmt, ...) ...
- 显示当前行号、文件名和函数名
在编程时,有时需要知道当前的代码是在第几行,当前文件名是什么,以及当前执行的是哪个函数?下面的代码可以轻松地完成这种功能: #include <stdio.h> void test() { ...
- 【Qt】qt打印文件名、函数名、行号
#include <QDebug> #define MyDebug qDebug()<<"[FILE:"<<__FILE__<<&q ...
- linux c 中 当前函数名 文件名 可变参 不定参 宏使用
在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难.因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在. 下面定义了宏,分别是WA ...
- 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 ...
- printf 打印 文件名 函数名 行号
输出源文件的标题,目前执行行的行数,编译的日期,编译的时间. Linux下实现 #include <stdio.h> int main() { printf("当前代码行:%d\ ...
- python获取代码当前行数_Python实验室一段日志代码,获取当前调用的函数名和行号...
代码如下: #............. class CrawlerLog(object): def __init__(self, logName=None): #............ self. ...
- python中使用sys模板和logging模块获取行号和函数名的方法
From: http://www.jb51.net/article/49026.htm 这篇文章主要介绍了python中使用sys模板和logging模块获取行号和函数名的方法,需要的朋友可以参考下 ...
- python查找指定字符所在行号_在python中获取当前位置所在的行号和函数名
对于python,这几天一直有两个问题在困扰我: 1.python中没办法直接取得当前的行号和函数名.这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__ ...
最新文章
- 人脸识别引爆下一代生物支付四军之战
- Linux如何编译安装源码包软件
- Android TextView里直接显示图片的三种方法
- 今天被编码搞惨了,页面和脚本的编码一致性
- TImm 笔记: 训练模型
- 13. PDE_PTE属性
- java里的super杀意思,java中Super到底是什么意思?必须举例说明!
- 【Qt开发】Qt标准对话框之QMessageBox
- 能玩游戏的计算机名字,没有手机和电脑时,孩子们最喜欢的游戏,简单却能玩上一整天!...
- 如何用 JavaScript+Canvas 开发一款超级烧脑小游戏?
- Transact-SQL管理与开发实例精粹
- H3C MSR系列路由器负载分担、链路备份的实现过程详解
- Delphi第三方控件大比拼
- python中sys的用法
- Gradle配置及同一应用不同版本配置不同资源文件,不同签名,包名进行打包
- windows通知栏中显示 微信等应用软件 的通知
- Python实现将人脸表情数据集fer2013转化为图像形式存储本地
- error converting to execution character set illegal byte sequence报错解决办法
- Robocup 仿真2D 学习笔记(三)最初的改进1
- K8s安装 遇到错误:docker-ce conflicts with 2:docker-1.13.1-208.git7d71120.el7_9.x86_64