1樓:希聲和寡
這個是一個巨集開關
一般在軟體除錯的時候,用的較多。
比如上面這一段**中:
*************************=#ifdef debug
char *name = s->stackname;
outputstatus();
if(strcmp(name, "opnd") == 0)printf("\tpush(%s, %d)", name, ch);
else
printf("\tpush(%s, %c)", name, ch);
#endif
*************************=這一段應該是除錯用的,只要debug 被define了就可以執行。
如果除錯完畢,不希望執行這一段了,只要把開頭的#define debug
改為#undef debug
就可以了。
這很像是一個開關,所以叫做巨集開關。
2樓:清影星河
這完全是用來除錯用的
一般的程式有兩個版本,一個除錯版本(debug),一個釋出版本(release)
debug 就是要列印一個資訊來幫助除錯
release 則是給使用者用的,使用者不需要除錯所以#ifdef debug
#endif
之間的部分**就是程式設計師自己玩的,使用者不要的^_^
3樓:世鑲柳
debug這個巨集是vc在debug模式下的預定義巨集,你可以在編譯預處理引數裡找到。意思是在dubug版本輸出堆疊的內容,在release版本則不輸出(因為輸入輸出比較耗費時間,影響程式的效能)
c語言pow函式,C語言pow函式
pow 函式用來求x的y次冪,x y及函式值都是double型 其原型為 double pow double x,double y 例項 如下 include include void main double x 2,y 10 printf f n pow x,y return 0 擴充套件資料 在...
c語言函式的定義問題,C語言函式的定義問題
void就是沒有返回值,不需要return 是否需要返回值是由你的需求決定的。陳恩點在此為你解答如有錯誤請見諒 不是沒有返回值 是void 不能有返回值 include int f int i int main 第一個void表示沒有該函式沒有需要帶回的資料 當你的函式當中需要呼叫了某個函式,但是你...
c語言swith函式,c語言 這個函式怎麼用switch語句來寫?
你用的工具報錯 在每段錯誤資訊後面都寫的很清楚 什麼錯誤 錯在哪 大哥,switch 是這樣寫的,不是 swith 沒看出來那少,是不是輸入法不對啊。你統一用英文輸入法把分號都改一遍試試。呵呵,學c語言得比女人還要小心啊,你用的什麼系統,關鍵字顏色都不一樣的,不清楚嗎 c語言中的switch是什麼意...