打印

keil编译C语言代码

[复制链接]
1827|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tao180539|  楼主 | 2011-11-29 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HWM| | 2011-11-29 22:41 | 只看该作者
to LZ:

这很正常。因为MCU具体进行计算会用到寄存器,而寄存器的调配会随计算次序的不同而有所不同。如此,所用指令也不尽相同,所以最终代码长度会不同。

使用特权

评论回复
板凳
ayb_ice| | 2011-11-30 08:06 | 只看该作者
LZ的写法中间的那个
c=m;其实被忽略了,因为没有意义,当然前提是局部变量
全局变量也可能不一样,这没有什么奇怪的,

使用特权

评论回复
地板
tao180539|  楼主 | 2011-11-30 08:40 | 只看该作者
2# HWM
依照阁下的意思  怎么才能做到代码最优化

使用特权

评论回复
5
ayb_ice| | 2011-11-30 08:44 | 只看该作者
基本的优化大家都懂一些,比如尽量用局部变量,尽量使用特定指针等等
但更重要的是从软件架构上去优化,这种优化威力更大,并且可移植,通用性更好

使用特权

评论回复
6
HWM| | 2011-11-30 09:11 | 只看该作者
2# HWM  
依照阁下的意思  怎么才能做到代码最优化
tao180539 发表于 2011-11-30 08:40

“代码优化”其实一句话就够了,那就是别去做那些“多此一举”的事情。

c=m;      第二行
c=k*10; 第三行


无论如何调换,那显然是总有一行是多此一举。

使用特权

评论回复
7
tao180539|  楼主 | 2011-11-30 21:41 | 只看该作者
5# ayb_ice
能否提供本关于这方面的书 我总感觉软件架构设计的不好呢

使用特权

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

本版积分规则

321

主题

514

帖子

3

粉丝