定義:
#include #define mydebug() qdebug() << tr("檔名: ") << __file__ << tr("行號: ")<< __line__ << tr("函式名: ") << __function__;
在函式中執行mydebug()即可:
void mainwindow::doactionnew_slot()
執行結果:
"檔名: " ..\mainwindow.cpp "行號: " 39 "函式名: " doactionnew_slot
總結:在c語言中__file__
__line__
__function__
是編譯器內建巨集,這些巨集定義不僅可以幫助我們完成跨平台的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。
__file__
:代表源當前原始檔路徑及檔名;
__line__
:代表該行**的所在行號
__function__
:代表當前函式的函式名
printf 列印 檔名 函式名 行號
輸出原始檔的標題,目前執行行的行數,編譯的日期,編譯的時間。linux下實現 include int main printf 當前 行 d n line printf 當前源 檔名 s n file printf 當前檔案編譯的日期 s n date printf 當前檔案編譯的時間 s n tim...
C語言 列印呼叫函式的行號,檔名 函式名用於除錯
c語言為了除錯方便,經常需要在故障處輸出問題描述,此時能夠獲得呼叫函式的相關資訊,就會很方面找到問題所在,現在將實現方法描述如下 第一種方法 void debugout void 當該函式被呼叫時,輸出的是本函式的檔案檔名 函式名 函式所在行號,無法定位問題所在。方法二 define debug o...
在Vim中插入當前檔名
1.使用 即ctrl r 步驟如下 在insert模式下,先按ctrl r,游標處變成雙引號 再按 即可直接插入當前檔名 含路徑 關 於,可輸入 help 檢視詳細說明。此處簡要說明一下,ctrl r可以插入0 9號暫存器 numbered register 內的內容,也可以插入特殊暫存器 name...