博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++/c 获取cpp文件行号跟文件名
阅读量:5260 次
发布时间:2019-06-14

本文共 565 字,大约阅读时间需要 1 分钟。

编译器内置宏:

先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。

ANSI C标准中有几个标准预定义宏(也是常用的):

__LINE__:在源代码中插入当前源代码行号;

__FILE__:在源文件中插入当前源文件名;

__DATE__:在源文件中插入当前的编译日期

__TIME__:在源文件中插入当前编译时间;

__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;

__cplusplus:当编写C++程序时该标识符被定义。

下面例子:

 

[cpp]   
 
  1. #include<stdio.h>  
  2.   
  3. int main()  
  4. {  
  5.   char file[16];  
  6.   char func[16];  
  7.   int line;   
  8.   sprintf(file,__FILE__); //文件名  
  9.   sprintf(func,__FUNCTION__);//函数名  
  10.   printf("file=%s\n",file);  
  11.   printf("func=%s\n",func);  
  12.   printf("%05d\n",__LINE__);//行号   
  13.   return 0;  
  14. }  

 

转载于:https://www.cnblogs.com/fnlingnzb-learner/p/6823487.html

你可能感兴趣的文章
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
P1107 最大整数
查看>>
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>