4975| 7
|
关于keil的优化等级造成程序异常 |
10金钱
最佳答案这是经常出现的编译器问题。
首先你要明白C语言和汇编是两种语言,考虑到转换后的效率及资源占用, 在最后优化的编译出来的汇编跟原先的C的执行方法是会被改变的。
比如,
全局变量 int AB=56;
局部变量 int C=23;
abc = AB+C;
C这个局部变量编译后根本就不会出现, 甚至用Watch也不会提供其数据, 优化后的汇编很可能是这样
ldr r0,=ABC
ldr r1,[r0]
add r1,#23 @
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-13 17:45
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网