c語言為了除錯方便,經常需要在故障處輸出問題描述,此時能夠獲得呼叫函式的相關資訊,就會很方面找到問題所在,現在將實現方法描述如下:
第一種方法:
void debugout(void)
當該函式被呼叫時,輸出的是本函式的檔案檔名、函式名、函式所在行號,無法定位問題所在。
方法二:
#define debug_out() debugout(file,function,line)
void debugout(const char* file,const char* function,int line)
int main(void)
{printf("main func ");
/*** 呼叫該函式,輸出主函式的檔名、函式名、當前呼叫行號 ***/
debug_out();
採用這種方法時,可以獲得問題所在的檔名、函式名、當前呼叫行號,可以比較方便追蹤問題。當然還可以直接使用入參的方式將這些資訊傳入,但是每次呼叫故障資訊輸出時,都要去傳參,沒有這樣方便。
printf 列印 檔名 函式名 行號
輸出原始檔的標題,目前執行行的行數,編譯的日期,編譯的時間。linux下實現 include int main printf 當前 行 d n line printf 當前源 檔名 s n file printf 當前檔案編譯的日期 s n date printf 當前檔案編譯的時間 s n tim...
QT 列印當前檔名,行號和函式名稱
定義 include define mydebug qdebug tr 檔名 file tr 行號 line tr 函式名 function 在函式中執行mydebug 即可 void mainwindow doactionnew slot 執行結果 檔名 mainwindow.cpp 行號 39 ...
C檔案編譯時間,日期,行號,檔名獲取方式
ansic標準定義了可供c語言使用的預定義巨集 1 line 在源 中插入當前源 行號 2 file 在源 中插入當前源 檔名 3 date 在源 中插入當前編譯日期 注意和當前系統日期區別開來 4 time 在源 中插入當前編譯時間 注意和當前系統時間區別開來 識別符號 line 和 file 通...