
stm32
const_zj
这个作者很懒,什么都没留下…
展开
-
MDK优化变量的问题
最近在项目上遇到个问题,在特定位置给局部变量赋值的时候会导致单片机code剧增。 最后查找问题根源才知道原来是编译器将变量给优化了,在变量的定义处加上关键字__IO即可解决这个问题。 在我们注释掉一个函数的调用语句时(没有注释掉函数的实现)导致我们的代码量code增加了不少,按照正常逻辑来说,注释掉代码,应该是代码量code减少才对,后面经过查资料得出问题的根源: 编译原理中给出了问题的原因...原创 2019-11-05 18:24:11 · 729 阅读 · 0 评论 -
MDK中变量被优化的问题
在最近的项目中遇到一个奇葩的问题,在debug时发现if语句里面的条件全都为真,即是if(1) 却不执行if语句的程序代码段,结果被这个问题折磨了一下午,后来经过大佬们的指点得知原来是因为编译器对变量进行了优化 所以导致了该变量的值并不是最新的,二我们在debug的时候看到的却是变量的最新的值。所以导致了我们看到的和程序所执行的步骤不一样。 解决办法: 在变量的定义处加上__IO关键字,_...原创 2019-11-01 14:10:26 · 2554 阅读 · 3 评论