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