常見的條件編譯

2022-03-26 05:27:19 字數 896 閱讀 9531

背景:

有些程式由於需求不一致,因而需要編譯成不同版本的燒錄檔案,以螢幕為例,有各種尺寸的螢幕,其驅動檔案幾乎不一樣,若是因為螢幕不一樣而特意另外寫一版軟體,不僅麻煩而且不便於版本管理。因此條件編譯在此處即可大顯身手。

正文:1、#if, #elif, #else, #endif條件編譯。

#if 條件 1**段 

1#elif 條件 2**段 

2...

#elif 條件 n**段 n

#else

**段 n+1

#endif

此含義既是:#if後面的常量表示式為「true」時,則編譯其控制的**段。

即,條件1成立,則編譯**段1,條件1不成立,條件2成立,則編譯**段2······

2、#ifdef, #else, #endif或#ifndef, #else, #endif條件編譯

#ifdef macro_name

**段 

1#else

**段 

2#endif

或#ifndef macro_name

**段 

2#else

**段 

1#endif

配合巨集定義「#define」以上兩段需要編譯的**段為相同**段。(可在其它檔案中define,但一定需要在此條件編譯前define)

字如其意,如果#define macro_name,則編譯**段1,若是未定義,則編譯**段2。

3、還有一種被稱之為巨集函式條件編譯,我倒覺得是#if的擴充罷了,即#if define(macro_name),若是defined了macro_name,則函式define(macro_name)返回真,否則返回假。用法其實和#if乙個意思。

記錄地點:深圳wz

條件編譯 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定義的符號 由預...

條件編譯 if

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