C 條件編譯

2022-05-17 13:08:01 字數 448 閱讀 3028

語法

#ifndef  x

#define  x

#endif

作用#ifndef指示符檢查預編譯常量x是否已巨集定義,如果沒有,則指示符判斷為真,從#define到#endif之間所有語句都被包含進來編譯,如果判斷為假,則#define到#endif之間所有語句都被忽略

條件編譯可以有效防止同一檔案被反覆包含,即使相同內容被放在不同物理檔案中

條件編譯具有較高的可移植性,但編譯速度慢一些

也用於防止同一檔案被重複包含

這裡的同一檔案指同一物理檔案僅被包含一次

如果同一內容放在兩個不同物理檔案中,則#pragma once不能發現

#pragma once是編譯器相關的,即不是所有編譯系統均支援,故可移植性不高

一些低版本編譯器不支援

目前,基本所有編譯器均支援

跨平台的程式,最好採用條件編譯

C 條件編譯

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

C 條件編譯

一 條件編譯方法 1 if,elif,else,endif 使用條件編譯指令,如果滿足 if後面的條件,就編譯 if和 endif之間的程式段,否則不編譯。二 編譯此段 時是否有某個巨集通過 ifdef,else,endif或 ifndef,else,endif 如果乙個c源程式在不同計算機系統上執...

C條件編譯

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