例
#import <Foundation/Foundation.h>
#define M 1234
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"%d", M);
int a = 123;
if (a > 0) {
NSLog(@"a大于0");
}
else {
NSLog(@"a小于等于0");
}
//#ifdef DEBUG的输出取决于以下操作
1.
2.
3.
#ifdef DEBUG
NSLog(@"debug");
#else
NSLog(@"release");
#endif
//1. 取消宏定义
//#undef M
// NSLog(@"%d", M);//报错,符号未定义
//defined(M): 判断M是否定义为宏
//判断真假
#if defined(M)
NSLog(@"这是if里文字");
#elif 1
NSLog(@"这是elif里的文字");
#else
NSLog(@"这是else里的文字");
#endif
//判断宏是否被定义
#ifdef M
NSLog(@"M被定义");
#endif
#undef M
#ifndef M
NSLog(@"M没有被定义");
#endif
//给开发者不同级别的提示
//#error 这是错误提示
//#warning 这个代码勉强可以
//备注
#pragma mark - 这是一行文字
}
return 0;
}
#pragma mark - 这是什么
输出
2015-07-29 21:23:55.046 Preprocessor[640:35781] 1234
2015-07-29 21:23:55.048 Preprocessor[640:35781] a大于0
2015-07-29 21:23:55.048 Preprocessor[640:35781] debug
2015-07-29 21:23:55.048 Preprocessor[640:35781] 这是if里文字
2015-07-29 21:23:55.048 Preprocessor[640:35781] M被定义
2015-07-29 21:23:55.049 Preprocessor[640:35781] M没有被定义