打印
[应用相关]

如何看待keil的编译器优化

[复制链接]
4691|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2013-3-28 16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在用keil编写程序。由于编写的程序比较复杂,经常由于编译器优化的原因产生问题,会死在莫名奇妙的地方。最明显的现象是用串口发送数据。本来会发数据上来,可是会因为一条赋值语句,就不发数据。这些问题很莫名,搞的我头大。后来发现是编译器优化的问题。于是通过keil的工程设置里的C51选项下,将编译器优化降为最低等级。很多问题得到了改善。但仍然会出问题。出问题的地方,随便加些代码,可能就又好了。
  因此,我想提出几个问题:
1、如何看待keil的编译器优化?
   2、编写复杂程序的时候(中断多,变量多)是否应该禁止编译器优化?
   3、如何避免编译器优化的问题?除了volitile的应用,还有其他方法么?
   4、对于我来说,最快的解决方法是keil中如何禁止编译器优化?
沙发
aozima| | 2013-3-28 16:38 | 只看该作者
先规范自己的程序吧,如果程序无问题而编译器错误地优化了,可以通知编译器厂商修正(这类机会很少)。

使用特权

评论回复
板凳
baidudz| | 2013-3-28 18:32 | 只看该作者
还是要先规范自己写的程序

使用特权

评论回复
地板
火箭球迷| | 2013-3-28 18:48 | 只看该作者
不能太依靠编译器的优化

使用特权

评论回复
5
txcy| | 2013-3-28 18:58 | 只看该作者
感觉还是LZ自己编写的代码存在问题,应该不是编译器优化造成的

使用特权

评论回复
6
hawksabre| | 2013-3-28 19:51 | 只看该作者
先规范自己的程序   需要有好的书写代码的习惯  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝