1. 程式人生 > 其它 >c++/c 獲取cpp檔案行號跟檔名

c++/c 獲取cpp檔案行號跟檔名

編譯器內建巨集:

先介紹幾個編譯器內建的巨集定義,這些巨集定義不僅可以幫助我們完成跨平臺的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。

ANSI C標準中有幾個標準預定義巨集(也是常用的):

__LINE__:在原始碼中插入當前原始碼行號;

__FILE__:在原始檔中插入當前原始檔名;

__DATE__:在原始檔中插入當前的編譯日期

__TIME__:在原始檔中插入當前編譯時間;

__STDC__:當要求程式嚴格遵循ANSI C標準時該標識被賦值為1;

__cplusplus:當編寫C++程式時該識別符號被定義。

下面例子:

#include<stdio.h>  
 
int main()  
{  
 char file[16];  
 char func[16];  
 int line;   
  sprintf(file,__FILE__); //檔名  
  sprintf(func,__FUNCTION__);//函式名  
  printf("file=%sn",file);  
  printf("func=%sn",func);  
  printf("%05dn",__LINE__);//行號   
 return 0;  
}