STM32中的预编译
#define
1、不带参宏定义
#define
,宏定义命令,它也是C语言预处理命令的一种。
所谓宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串。
例如
1 |
在编译过程中遇到 N 时,会直接替换为 100。
2、带参公定义
宏定义可以携带参数。
例如
1 |
|
3、防止头文件重复包含
如下所示
1 |
|
模版:
1 |
#if 与 #if defined
1、#if
#if
的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译,如
1 |
|
模版:
1 |
1 |
2、#if defined
1 |
|
这个#if defined
它不管里面的 x 的逻辑是“真”还是“假”。它只管这个程序的前面的宏定义里面有没有定义 x 这个宏,如果定义了 x 这个宏,那么,编译器会编译中间的 …code…
,否则会直接忽视中间的 …code…
代码。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 鹏展的博客!
评论