點擊右鍵查看原圖
示例代碼1
用來開發時的測試調試
我們就在想有沒有一種方法,能夠改一個值就可以讓這些輸出的語句消失(不參與編譯),就可以達到一次性把所有調試語句“刪除”的目錄
#include <stdio.h>
//#define MY_DEBUG
#ifndef MY_DEBUG
#define LOG(a,...)
#else
#define LOG(a,...) printf(a, ##__VA_ARGS__); //就代表第二個參數是可變的,你可以傳,也可以不傳,傳的話也可以傳一個或者多個
#endif
int main(int argc, const char * argv[]) {
int a,b,c,d;
LOG(測試1,a=%d b=%d\n",a,b);//第二個參數,只傳了2個
LOG("測試2\n"); //第二個參數,一個都沒傳
int z,x,q,v;
LOG("z=%d,x=%d,q=%d,v=%d\n",z,x,q,v);//第二個參數,傳了4個
return 0;
}