C C 除錯 檔名 行號 變數名

2021-08-27 09:02:32 字數 1246 閱讀 4108

#include

#define debug_info(x) std::cout

<<__file__>

" "<<__line__>

" "<

std::string str;

debuf_info(str);

當前源**函式名:function當前源**行號:line當前源**檔名:file==%s\n」,file);

當前編譯日期〔注意和當前系統日期區別開來〕:date

當前編譯時間〔注意和當前系統日期區別開來〕:time

當前系統時間戳:timestamp

當要求程式嚴格遵循ansic標準時該識別符號被賦值為1:stdc

當用c++編譯程式編譯時,識別符號__cplusplus就會被定義:__cplusplus

#define cat(n) x ## n 

//## 在巨集定義中將兩個字元連線起來,構成乙個新的識別符號

#define printf_xn(n) printf("x"

# n

"=%d\n",x ## n); //# 將對應變數字串化

c/c++程式中怎麼列印乙個變數的名稱呢?利用#,看**:

#include 

#define vname(value) (#value)

int main(int argc, char *argv)

a

bsss

sss

乙個例子

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

編譯器內建巨集 先介紹幾個編譯器內建的巨集定義,這些巨集定義不僅可以幫助我們完成跨平台的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。ansi c標準中有幾個標準預定義巨集 也是常用的 line 在源 中插入當前源 行號 file 在原始檔中插入當前源檔名 date 在原始檔中插入當...

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

編譯器內建巨集 先介紹幾個編譯器內建的巨集定義,這些巨集定義不僅可以幫助我們完成跨平台的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。ansi c標準中有幾個標準預定義巨集 也是常用的 line 在源 中插入當前源 行號 file 在原始檔中插入當前源檔名 date 在原始檔中插入當...

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

編譯器內建巨集 先介紹幾個編譯器內建的巨集定義,這些巨集定義不僅可以幫助我們完成跨平台的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。ansi c標準中有幾個標準預定義巨集 也是常用的 line 在源 中插入當前源 行號 file 在原始檔中插入當前源檔名 date 在原始檔中插入當...