keil4宏定义赋值报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil4宏定义赋值报错相关的知识,希望对你有一定的参考价值。

参考技术A 未包含定义。
在仿真时,通过watch观察变量,发现某个变量在初始化使用宏定义赋值后,与在运行中使用宏定义赋值结果不一样。

理论分析,宏定义是在预编译时处理的,在使用过程中应该都一样。但却出现不一样的结果,经以下分析:

宏定义中嵌套使用多个宏定义,包含一些判断性宏定义。预想是在编译流程中,初始化使用该宏定义时,由于该判断性宏定义在另一个文件中,可能还没有被包含;而在运行中使用该宏定义时,该判断性宏定义已经被包含和定义,因此出现两个完全不同的数据。

以上是关于keil4宏定义赋值报错的主要内容,如果未能解决你的问题,请参考以下文章

keil4预处理器宏过于嵌套怎么解决?

cmsis-dap对keil4有要求吗

宏定义能否被赋值

keil4里面定义数组 。比如 unsigned char sts[7]=0,1,2,3,4,5,6;这种会报错呢。。

让人懵逼的宏定义赋值

STM32项目编译报错,全局宏定义与芯片不一致