預處理指令

#空指令,沒有任何效果

#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%不會出錯的重複的代碼序列用一個宏定義來;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章