基本介紹
- 中文名:#ifndef
- 外文名:#ifndef(if not defined)
- 作用1:防止頭檔案的重複包含和編譯
- 作用2:便於程式的調試和移植
- 配套使用:#endif
- 類型:宏定義條件編譯
#ifndef是"if not defined"的簡寫,是宏定義的一種,它是可以根據是否已經定義了一個變數來進行分支選擇,一般用於調試等。實際上確切的說這應該是預處理功能中三種...
#endif是預編譯處理指令中的條件編譯。...... #endif用於結束條件編譯,編譯時與前面最近的#if、#ifdef或#ifndef作為一對,經常一起使用,編譯兩者之間的部分程式段。...
#ifndef 如果宏沒有定義,則編譯下面代碼 #elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼 #endif 結束一個#if……#else條件編譯塊 #error 停...
#ifndef 標識符 語句序列① [#else 語句序列②] #endif 功能:該格式功能與ifdef相反。 [1] 條件編譯排版 編輯 條件編譯不相互嵌套 條件編譯關鍵字語句頂格左...
#ifndef的方式依賴於宏名字不能衝突,這不光可以保證同一個檔案不會被包含多次,也能保證內容完全相同的兩個檔案不會被不小心同時包含。當然,缺點就是如果不同頭...
#ifndef MODULE_A_H#define MODULE_A_Hint foo( int x, int y );#endif在模組B中引用該函式:// 模組B實現檔案 moduleB.cpp...
#ifndef,#define,#endif這個是C++語言相關,這是C++語言中的宏定義,通過宏定義避免檔案多次編譯。所以在所有支持C++語言的編譯器上都是有效的,如果寫的程式要跨平台...
(constchar*); #ifndef__STRICT_ANSI__ /* *Pipes */ _CRTIMPFILE*__cdecl_popen(constchar*,constchar*); _CRTIMPint__cdecl_pclose(FILE*); #ifndefNO...
馬上定義DATE名字的作用是在下一次該檔案若被重複include,編譯又遇到執行次指令的時候,因為曾經定義了DATE名字,所以使#ifndef編譯條件不滿足而直接跳過,一直跳到#...
*/ #ifndef MB_CUR_MAX #ifdef __DECLSPEC_SUPPORTED # ifdef __MSVCRT__ # define MB_CUR_MAX __mb_cur_max __MINGW_IMPORT int __mb_cur_max; # ...
defined(_MAC) || defined(_WIN32REG) #include <winreg.h> #endif #ifndef _MAC #include <winnetwk.h> #endif #ifndef WIN32_LEAN_AND_MEAN #include ...
defined(__assembler) #ifndef_CRT_ABS_DEFINED #define_CRT_ABS_DEFINED int__cdeclabs(_In_int_X); long__cdecllabs(_In_long_X); longlong__cdeclll...