if 條件編譯

2022-06-07 10:30:13 字數 653 閱讀 9240

1.格式:

#if  constant-expressionstatements

#elif constant-expressionstatements

#else

statements

#endif

其中 constant-expression(常量表示式:字面值常量,或者乙個有#define定義的符號)由預處理器進行求值;

如果值為非零值,則statements被正常編譯;

注意:這裡#elif 出現的次數不限制,每個constant-expression (常量表示式) 只有當前面所有的常量表示式的值都是假時,才會被編譯;

#else只有前面所有的常量表示式都是假時,才會被編譯;

其他情況下都會被忽略;

2.是否被編譯

#if defined(symbol)

#endif

#ifdef symbol

#endif

以上兩句都是判斷symbol是否被定義過;

#if

!defined(symbol)

#endif

#ifndef symbol

#endif

以上兩句都是判斷symbol是否沒被定義過;

條件編譯 if

1 為什麼需要條件編譯 客戶的需求在不停地發生變化,一會兒需要這個功能,一會兒不需要這個功能。我們可以使用條件編譯來方便地裁剪功能。2 條件編譯語句 if 條件編譯語句 if的形式是 1 if expression 2.3 elif expression 4.5 elif expression 6....

條件編譯 if

1 為什麼需要條件編譯 客戶的需求在不停地發生變化,一會兒需要這個功能,一會兒不需要這個功能。我們可以使用條件編譯來方便地裁剪功能。2 條件編譯語句 if 條件編譯語句 if的形式是 1 if expression 2.3 elif expression 4.5 elif expression 6....

Golang 編譯 條件編譯

條件編譯 標籤編譯 build tag build build linux and 386 or darwin and not cgo 以 開始,例如 build 支援 goos 與 goarch 並可以具有多個值,用 分割,例如 build linux,darwin,freebsd 支援 不等條件...