條件編譯的功能使得我們可以按不同的條件去編譯不同的程式部分,因而產生不同的目
標**檔案。這對於程式的移植和除錯是很有用的。條件編譯有三種形式,下面分別介紹:
第一種形式:
#ifdef 識別符號
程式段 1
#else
程式段 2
#endif
它的功能是,如果識別符號已被 #define 命令定義過則對程式段 1 進行編譯;否則對程式段 2
進行編譯。如果沒有程式段 2(它為空),本格式中的#else 可以沒有,即可以寫為:
#ifdef 識別符號
程式段#endif
第二種形式:
#ifndef 識別符號
程式段 1
#else
程式段 2
#endif
與第一種形式的區別是將「ifdef」改為「ifndef」。它的功能是,如果識別符號未被#define 命令定
義過則對程式段 1 進行編譯,否則對程式段 2 進行編譯。這與第一種形式的功能正相反。
第三種形式:
#if 常量表示式
程式段 1
#else
程式段 2
#endif
它的功能是,如常量表示式的值為真(非 0),則對程式段 1 進行編譯,否則對程式段 2 進行
編譯。因此可以使程式在不同條件下,完成不同的功能。
至於#elif 命令意義與 else if 相同,它形成乙個 if else-if 階梯狀語句,可進行多種編譯選擇。
C語言中的條件編譯
很久沒更新了。因為工作之後比較忙,更多的學習記錄會寫在公司的wiki裡 目前在公司主要做c c 原來了解不夠深入,所以目前從基礎開始簡單記錄一點東西。條件編譯相關的預編譯指令,包括 define undef ifdef ifndef if elif else endif defined。define...
c語言中的條件編譯
即意味著編譯預處理 define debug 是一種沒具體定義值的預定義 僅僅是定義過 用在條件編譯中如標頭檔案中 ifndef debug define debug endif 2.int i 是變數的定義 extern int i 是變數的宣告 宣告不產生 如函式原型 變數宣告 結構宣告 巨集宣...
C語言中的條件編譯
常用的預編譯指令包括檔案包含,巨集定義和條件編譯 檔案包含 檔案包含很簡單,也是最常見的,語法格式 include 標頭檔案 include 標頭檔案 順便說一下這兩種形式的不同 尖括號 這種方法只能引用編譯器類裡的標頭檔案 也就是編譯器只會查詢儲存系統標準標頭檔案的檔案 雙引號 這種方法編譯器先查...