C語言中的條件編譯

2021-08-14 03:34:35 字數 754 閱讀 1930

條件編譯的功能使得我們可以按不同的條件去編譯不同的程式部分,因而產生不同的目

標**檔案。這對於程式的移植和除錯是很有用的。條件編譯有三種形式,下面分別介紹:

第一種形式:

#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 標頭檔案 順便說一下這兩種形式的不同 尖括號 這種方法只能引用編譯器類裡的標頭檔案 也就是編譯器只會查詢儲存系統標準標頭檔案的檔案 雙引號 這種方法編譯器先查...