
在調(diào)試代碼時,有時會遇到報錯的的函數(shù)是沒問題,而是調(diào)用它的函數(shù)傳入的參數(shù)是異常的,而又沒法通過代碼準確定位到具體調(diào)用的位置的情況,特別是對一些基礎(chǔ)函數(shù),往往會出現(xiàn)這種情況,因為工程中調(diào)用它們的地方太多,而且有時會漏掉返回值檢測。這里給出一個快速找出調(diào)用者是誰的方法。
想要一起學(xué)習(xí)C語言C++可以加群666+295+498邀請碼(夏熱),群里有大量學(xué)習(xí)資源
//filename: tt.h//filename: tt.c//filename: main.c
未定義#define foo(_a)宏時執(zhí)行結(jié)果如下(將tt.h中定義foo的那段代碼注釋掉):
$ cc main.c tt.c
定義了#define foo(_a)宏之后執(zhí)行結(jié)果如下:
$ cc main.c tt.c
通過定義與函數(shù)一致的宏,調(diào)用的時候執(zhí)行了修改了之后的代碼,這樣我們就可以在其中添加一些我們需要的信息,方便我們調(diào)試。
文末奉上炸彈人得部分代碼(喜歡得可以@小編呦)
/{}AFX_DATA_INIT
// TODO: add construction code here
m_bStart=false; // 游戲未開始
m_nTypeMode=1; // 默認的游戲模式類型
m_bBG=true; // 默認背景單項滾動
m_nBG=0; // 默認選中的背景為0
m_nMonster=5; // 初始怪物數(shù)量為5
m_nScore=-1; // 分數(shù),初始為-1
m_nPass=-1; // 通關(guān)數(shù),初始為-1
m_nMud=30; // 泥墻數(shù)量,初始為30
}