#空指令,没有任何效果
#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%不会出错的重复的代码序列用一个宏定义来;