查看: 6357|回复: 11

[提问] 单片机代码编译

[复制链接]
发表于 2011-11-29 21:38:15 | 显示全部楼层 |阅读模式
我的51F系列单片机C语言编译时候
有的语句 我换一下行 编译代码的大小就不同
举个例子
unsigned int a;
unsigned int b;

b=c+d;  第一行
c=m;      第二行
c=k*10; 第三行

我把第二行的语句放到第三行下面 编译后代码大小就不同 大家谁能解释一下
用的是keil4编译的
发表于 2011-11-30 21:27:50 | 显示全部楼层
c=m;      第二行
c=k*10; 第三行
只有第三行有效,第二行被编译器优化掉了。
一个只是赋值,而另一个需要进行计算后再赋值,代码量当然不一样了。
发表于 2011-12-9 13:08:27 | 显示全部楼层
学习
发表于 2011-12-17 08:53:11 | 显示全部楼层
编译优化而已
发表于 2011-12-19 17:16:51 | 显示全部楼层
编译器优化的结果
发表于 2012-2-7 20:41:07 | 显示全部楼层
编译器怎么优化的啊,能不能具体点
发表于 2012-2-8 09:11:27 | 显示全部楼层
我懂了!你懂不懂?
发表于 2012-2-8 14:28:11 | 显示全部楼层
有编译就有优化!
发表于 2012-2-29 18:13:58 | 显示全部楼层
编译器优化
发表于 2012-4-17 13:41:49 | 显示全部楼层
看了很好。
发表于 2015-2-16 17:30:42 | 显示全部楼层
b=c+d;  第一行
//c=m;      第二行
c=k*10; 第三行
优化结果
发表于 2015-2-7 12:04:28 | 显示全部楼层
支持一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表