例
#import
#define m 1234
int main(int argc, const
char * argv)
else
//#ifdef debug的輸出取決於以下操作
1.2.
3.#ifdef debug
nslog(@"debug");
#else
nslog(@"release");
#endif
//1. 取消巨集定義
//#undef m
// nslog(@"%d", m);//報錯,符號未定義
//defined(m): 判斷m是否定義為巨集
//判斷真假
#if defined(m)
nslog(@"這是if裡文字");
#elif 1
nslog(@"這是elif裡的文字");
#else
nslog(@"這是else裡的文字");
#endif
//判斷巨集是否被定義
#ifdef m
nslog(@"m被定義");
#endif
#undef m
#ifndef m
nslog(@"m沒有被定義");
#endif
//給開發者不同級別的提示
//#error 這是錯誤提示
//#warning 這個**勉強可以
//備註
#pragma mark - 這是一行文字
}return0;}
#pragma mark - 這是什麼
輸出
2015-07-29 21:23:55.046 preprocessor[640:35781] 1234
2015-07-29 21:23:55.048 preprocessor[640:35781] a大於0
2015-07-29 21:23:55.048 preprocessor[640:35781] debug
2015-07-29 21:23:55.048 preprocessor[640:35781] 這是if裡文字
2015-07-29 21:23:55.048 preprocessor[640:35781] m被定義
2015-07-29 21:23:55.049 preprocessor[640:35781] m沒有被定義
預處理指令
預處理指令是我們寫在程式 中的給預處理器 preprocessor 的 命令,而不是程式本身的語句。預處理器在我們編譯乙個c 程式時由編譯器自動執行,它負責控制對程式 的第一次驗證和消化。所有這些指令必須寫在單獨的一行中,它們不需要加結尾的分號 在這個教程的開頭我們已經提到了一種預處理指令 defi...
預處理指令
1.人們常常稱機器語言為目標 object code 2.預處理命令 preprocessor directives 三種預處理包括 巨集定義 檔案包含 條件編譯。在對源程式編譯之前,會對程式中的所有預處理指令進行處理。預處理就是在進行編譯的第一遍詞法掃瞄和語法分析之前所作的工作。說白了,就是對原始...
預處理指令
普通 define 巨集名 字串 define my int int define max 10000 帶引數 define 巨集名 形參 字串 define add x,y x y 在大規模的開發過程中,特別是跨平台和系統的軟體裡,條件編譯很重要。include using namespace s...