第一个简单宏示例
发生在编译的预处理阶段。
不建议下面这么写,下面这么宏定义一般都是放在头文件中,不利于别人理解。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/436ba429dfe84186bcdceb15b6f4294f.png)
宏定义可包括分号
分号可以放在宏定义里面
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0675cc2e6d0e40aa8048ab2470cfe145.png)
宏定义符号
还可以宏定义符号,看上去有点傻逼
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8d6132b5f1764848b35a7c693fb156f8.png)
正常使用案例
开始上正餐,好用的示例,打印日志。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7c67b50440934399a1e963e2ec704ad1.png)
Debug版本和release版本的宏定义使用
提前在预处理中定义。包括debug版本和release版本
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d17d86dff8734a9e9ba391de94c3b757.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/11e78f2aeb9b4375a62b7dbaa7e048a8.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5956fc601fd349d5bd3b42abc2918eed.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f0a09ccab17b470dabdcf3ab2176ee19.png)
定义宏开关为某个数值而不仅仅是定义
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/47ffe30f0d044b34aac412693c83db1c.png)
【注意】预处理定义规范
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/704bbe3ea87e466aa3ff42519c094b59.png)
代码折叠
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3d26a18506a74944957941678974c634.png)
反斜杠实现多行宏的书写
宏定义,使用\
实现多行书写,因为宏定义必须在一行中书写。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/017380e67e3b4ecfb5b5162b5346643c.png)