宏
编译器参数和条件编译
在头文件中经常见到下面的代码,以防止头文件的重复包含1
2
3
4
//...
编译宏1
2
3
4
5
6
7__LINE__ //行
__FILE__ //文件名
__DATE__ //日期
__TIME__ //
__STDC__ //
__func__
无参宏
1 |
宏函数
#define 宏名称( [形参列表] ) 替换文本
#define 宏名称( [形参列表 ,] ... ) 替换文本
1 |
#和’##‘
#和##
使用# 将宏参数转换为字符串,使用 ## 将宏参数进行连接。1
2
3
4
5
STR(helloworld) //"helloworld"
CONS(2,3) //2e3
宏嵌套
多行
1 |
|
查看宏预处理之后的代码
在vs中我们可以选择属性 –》预编译选项–》编译文件选择产生文件