c++/c 获取cpp文件行号跟文件名

编译器内置宏:

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

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

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

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

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

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

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

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

下面例子:

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

posted @ 2014-06-05 14:37  00000000O  阅读(144)  评论(0编辑  收藏  举报