#空指令,沒有任何效果
#include 包含一個源代碼文件
#define 定義宏
#undef 取消定義宏
#if 如果條件爲真,則編譯下面的代碼
#elif 或 #elseif 如果前面的#if不爲真,則編譯下面的代碼
#endif 結束一個#if…#elif條件編譯塊
#ifdef 如果已經定義了某個宏,則編譯下面的代碼
#ifndef 如果沒有定義某個宏,則編譯下面的代碼
#error 停止編譯並顯示錯誤信息
示例:
#if DEBUG
#define RESPONSE_LOG \
NSData *responseData = responseObject; \
NSString *responseStr = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];\
NSLog(@"response:%@",responseStr);
#else
#define RESPONSE_LOG
#endif
使用#define定義的代碼塊,是不支持調試的,一般我們是一些可以保證100%不會出錯的重複的代碼序列用一個宏定義來;