KEIL5软件介绍

一、Debug问题

(1)debug过程中,在watch窗口中看不到局部变量的值,显示not in scope,并且警告variable "变量" was set but never used。

原因:编译器把变量优化掉了。局部变量,如果在函数中没有赋值操作,或者赋值后没有任意操作,就会被编译器优化。例如下面的例子,idq是全局变量不会被优化;i是局部变量,被赋值,有操作,没有优化;state为什么没有使用,因为state接收了返回值之后,没有输出,也没有赋值操作了。

解决办法:

1、在定义时加上volatile关键字,以明确告诉编译器不要优化它。

2、将KEIL工程优化等级设置为Level0(-O0),不优化任何代码。

(2)调试某个项目是发现单步执行的时候,箭头一会往前一会往后,不会按照写定逻辑运行,原因是KEIL5开启优化等级。

解决办法: Keil。改成0级优化,也就是不优化,重新编译执行即可

二、KEIL界面说明

(1)优化等级

优化等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值