**条件编译指令 **对源程序进行有条件的编译 主要用于调试程序
与分支语句的区别
1、不需要占用内存空间
2、执行时间不一样
3.多文件编程
//定义宏
#define DEBUG1 0
#define IA64
#define IA32
#define LLVM3
int main(){
@autoreleasepool {
int sum = 0;
for (int i = 1; i<=100; i++) {
sum += i;
#if DEBUG1
NSLog(@"i = %d sum = %d",i,sum);
#endif
}
NSLog(@"%d",sum);
#ifdef IA64
NSLog(@"系统是64位的");
#else
NSLog(@"系统是32位的");
#endif
#ifndef IA32
NSLog(@"系统是64位的");
#else
NSLog(@"系统是32位的");
#endif
#if defined LLVM4
NSLog(@"LLVM 4.0");
#elif defined LLVM3
NSLog(@"LLVM3.0");
#elif defined LLVM2
NSLog(@"LLVM2.0");
#endif
#undef IA32//终止宏名的作用域
#ifndef IA32
NSLog(@"没有定于IA32");
#endif