C 條件編譯

2021-08-09 10:48:35 字數 650 閱讀 3292

(一)條件編譯方法

1、#if, #elif, #else, #endif

使用條件編譯指令,如果滿足#if後面的條件,就編譯#if和#endif之間的程式段,否則不編譯。

(二)編譯此段**時是否有某個巨集通過

#ifdef, #else, #endif或#ifndef, #else, #endif

如果乙個c源程式在不同計算機系統上執行,而不同的計算機又有一定的差異。例如,我們有乙個資料型別,在windows平台中,應該使用long型別表示,而在其他平台應該使用float表示,這樣往往需要對源程式作必要的修改,這就降低了程式的通用性。可以用以下的條件編譯:

#ifdef windows  

#define mytype long

#else

#define mytype float

#end

如果在windows上編譯程式,則可以在程式的開始加上 #define windows 這樣則編譯下面的命令列:

#define mytype long

如果在這組條件編譯命令之前曾出現以下命令列:

#define windows 0

void test6()

C 條件編譯

條件編譯 按照不同的編譯條件去編譯不同的程式 從而使乙個源程式在不同的編譯條件下生成不同的目標程式。c 提供幾種條件編譯指令,以乙個表示式或者某個巨集是否被定義的條件作為編譯條件。指令 用途 空指令,無任何效果 include 包含乙個源 檔案 define 定義巨集 undef 取消已定義的巨集 ...

C條件編譯

在 c 語言中,條件編譯指令可以實現源 的部分編譯功能,可以根據表示式的值或者某個特定的巨集來確定編譯條件,以決定編譯哪些 不編譯哪些。在 c 語言中,乙個檔案中可以包含多個標頭檔案,而標頭檔案之間又是可以相互引用的,這將引起乙個檔案中可能間接多次包含某個標頭檔案,從而導致了某些標頭檔案被重複引用多...

C 條件編譯

c 的預處理器指令從來不會轉化為可執行 的命令,但是會影響編譯過程的各個方面,常用的預處理器指令有 define undef if,elif,else和 endif等等,下面介紹c 中使用 define進行條件編譯的例項。c 中條件編譯指令用於按條件包含或排除原始檔中的某些部分。在visual st...