條件編譯 if

2022-09-17 16:33:25 字數 773 閱讀 6704

1、為什麼需要條件編譯

客戶的需求在不停地發生變化,一會兒需要這個功能,一會兒不需要這個功能。我們可以使用條件編譯來方便地裁剪功能。

2、條件編譯語句#if

條件編譯語句#if的形式是

1

#if expression

2...

3#elif expression

4...

5#elif expression

6...

7#else

8...

9#endif

其中#elif分支語句是可選的,#else分支語句也是可選的。

如果expression的邏輯值為「真」,則在預編譯階段,保留這段**。如果邏輯值為「假」,則在預編譯階段刪除這段**。

3、在條件編譯的基礎上使用defined()函式

形式為:

1

#if defined(some_macro)

2 some statements

defined()用來檢測some_macro這個巨集是否定義,如果定義,則返回「真」,否則,返回「假」。根據返回的邏輯值,就可以決定是否在預編譯階段刪除與保留

tip1: #if defined(some_macro) 可以簡寫為 #ifdef

tip2: #if !defined(some_macro)與#if defined(some_macro)行為相反,亦可簡寫為#ifndef

tip3: don't forget #endif

條件編譯 if

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

if 條件編譯

1.格式 if constant expressionstatements elif constant expressionstatements else statements endif 其中 constant expression 常量表示式 字面值常量,或者乙個有 define定義的符號 由預...

Golang 編譯 條件編譯

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