1.最普通的一种
#define PI 3.1415927
2.带参数的宏定义
#define GIRTH(r) PI * 2 * r
3.条件编译
#ifdef 宏名称 //任意语句 #endif
#ifdef 宏名称 //任意语句 #else //任意语句 #endif
4.使用#if #elif #else #endif 执行条件编译
#define ACE 25 ... #if ACE > 60 NSLog(@"老年人"); #elif ACE > 40 NSLog(@"中年人"); #else ACE > 20 NSLog(@"青年人"); #else NSLog(@"少年人"); ...
这种条件编译的存在价值:这种编译是预处理,比起普通的if分支语句,它不会生成执行性指令,代码执行效率更高
5.NSLogin()
#ifdef DEBUG #define NSLog(...) printf("%f %s ",[[NSDate date] timeIntervalSince1970],[[NSString stringWithFormat:__VA_ARGS__]UTF8String]); #else #define NSLog //NSLog #endif #endif /* HMReader_pch */