1、用局部代替整体
#define ABC(_1,_2,_3,N,...) N 预处理后用N代替整个宏
2、使用__VA_ARGS__代替可变参数
#define ABC(a,b,...) DEF(a,__VA_ARGS__) 预处理后b参数将被丢弃,__VA_ARGS__代表可变参数(...)的宏
3、gcc编译带宏
使用gcc编译时使用-D选项可以指定一个全局宏,可以用来控制一套代码编译不同的目标。
1、用局部代替整体
#define ABC(_1,_2,_3,N,...) N 预处理后用N代替整个宏
2、使用__VA_ARGS__代替可变参数
#define ABC(a,b,...) DEF(a,__VA_ARGS__) 预处理后b参数将被丢弃,__VA_ARGS__代表可变参数(...)的宏
3、gcc编译带宏
使用gcc编译时使用-D选项可以指定一个全局宏,可以用来控制一套代码编译不同的目标。