c++/c 獲取cpp檔案行號跟檔名
阿新 • • 發佈:2022-05-03
編譯器內建巨集:
先介紹幾個編譯器內建的巨集定義,這些巨集定義不僅可以幫助我們完成跨平臺的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。
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; }