1)條件指示符#ifndef ***
#define ***
#endif
用於防止標頭檔案的重複包含。
2)#ifdef 常用於判斷乙個預處理器常量是否已經被定義,以便有條件的包含程式**:
#ifdef ndebug
g_pplayerpool->init(max_world_gamer_count) ;
#else
ret = g_pplayerpool->init(30) ;// debug測試不需要太多人,避免占用太多記憶體
#endif
這樣可以根據是否定義了ndebug,把測試環境和release分開,避免占用太多的資源,一般測試環境相應的資源都是比較少的。
(我們在編譯程式時可以使用-d選項,加上預處理器常量的名字,定義這個常量: cc -dndebug main.c
預處理器小結
預處理器發生在程式被編譯之前,所有的預處理器指令都以 開頭。1.include預處理器指令 使指定檔案的乙個副本被包含到指令所在的位置。include 與 include filename 區別 簡單不加以說明 include 指令用於包含標準類庫標頭檔案,也可以用於由多個原始檔組成的程式。2.in...
預處理器簡介
預處理是c編譯器做的第一件事情,主要是做一些文字方面的工作。包括 刪除注釋 插入被 include包含的檔案 定義和替換由 define指令定義的符號以及 的部份內容,和條件編譯。預定義符號 預定義符號如下表所示 file 進行編譯的檔名 line 檔案的當前行號 date 檔案編譯的日期 time...
C 預處理器
偶爾翻c 的教材,看到了一些以前自己不太關注的角落。參考教材 c 大學教程 harvey m.deitel 和paul james deitel著。預處理發生在編譯之前,包括把其他檔案包含到要編譯的檔案中 定義符號常量和巨集 程式 的條件編譯以及預處理指令的條件執行。對應的,預處理指令有 檔案包含命...