数码之家

 找回密码
 立即注册
搜索
查看: 8911|回复: 11

[C51] keil5 比keil4好在哪里?

[复制链接]
发表于 2022-4-21 21:48:08 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
同样一个c文件,在keil5编译得到的code字节数比 keil4多3%左右。
那到底keil5的优点在哪里?
发表于 2022-4-21 23:28:51 | 显示全部楼层
以51单片机为例,编译效率:Keil 2 > Keil 4 > Keil 5。
就我用到的功能而言,Keil 5没有我需要的新功能,如果追求效率,如果不使用位域,Keil 2是最好的选择(Keil 2位域编译效率低),所以,我觉得Keil 4是最好的选择。


回复 支持 反对

使用道具 举报

发表于 2022-4-21 23:56:07 来自手机浏览器 | 显示全部楼层
可能对32位单片机更友好。
回复 支持 反对

使用道具 举报

发表于 2022-4-22 08:28:16 | 显示全部楼层
mmxx2015 发表于 2022-4-21 23:28
以51单片机为例,编译效率:Keil 2 > Keil 4 > Keil 5。
就我用到的功能而言,Keil 5没有我需要的新功能, ...

能否共享一个keil4的下载链接
回复 支持 反对

使用道具 举报

发表于 2022-4-22 09:19:27 | 显示全部楼层
我的电脑里总是安装两个版本的keil,一个uv3(与uv2一样)、一个uv5,虽然uv5也可以编译51但总是感觉用uv3编译51顺手而uv5只用于32。
回复 支持 反对

使用道具 举报

发表于 2022-4-22 12:00:29 | 显示全部楼层
kkstun 发表于 2022-4-22 08:28
能否共享一个keil4的下载链接

去官网下载
https://www.keil.com/download/product/
PSN or LIC用注册机算就可以,其它资料随便填。

回复 支持 反对

使用道具 举报

发表于 2022-4-22 12:02:59 | 显示全部楼层
慕名而来 发表于 2022-4-22 09:19
我的电脑里总是安装两个版本的keil,一个uv3(与uv2一样)、一个uv5,虽然uv5也可以编译51但总是感觉用uv3编 ...

从keil的toos.ini看,uv2~uv5都有C51版本和ARM版本。
可以同时安装同一个uv版本的两个版本,如同时安装uv5 C51和uv5 ARM。


回复 支持 反对

使用道具 举报

发表于 2022-4-23 19:38:12 | 显示全部楼层
对32位的支持好点吧。。
回复 支持 反对

使用道具 举报

发表于 2022-4-24 13:02:52 | 显示全部楼层
字节数多并不代表优化差,这要看运行效率和字节比才是合理的评价;另两个优化等级一样?
回复 支持 反对

使用道具 举报

发表于 2022-5-2 13:44:30 | 显示全部楼层
mmxx2015 发表于 2022-4-22 12:00
去官网下载
https://www.keil.com/download/product/
PSN or LIC用注册机算就可以,其它资料随便填。

感谢,没有看大家的评论,以为版本越新越好呢
回复 支持 反对

使用道具 举报

发表于 2022-5-2 16:52:27 | 显示全部楼层
mengfc 发表于 2022-5-2 13:44
感谢,没有看大家的评论,以为版本越新越好呢

好坏是相对的,一般新版本对语法的检查更严格、逻辑更可靠,一般编译出的废码也就越多,如果要提高编译效率,需要明示编译器怎么编译。
以Keil C51为例,源程序如下:
  1. unsigned char byte_var_1,byte_var_2;

  2. void main(void)
  3. {
  4.     byte_var_1*=5;
  5.        
  6.             if(byte_var_1<100)
  7.             {
  8.                         byte_var_2++;
  9.             }       
  10.        
  11.             while(1)
  12.             {
  13.                
  14.             }
  15. }
复制代码


Keil C51 UV4、UV5编译结果对比:


如果加上强制类型转换,Keil C51 UV5编译结果和UV4编译结果一样的,通过使用不同的类型测试发现,Keil C51 UV5是按有符号数方式完成比较的(实际上只需按无符号数比较即可)。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2022-5-3 20:41:58 | 显示全部楼层
不在乎那点空间,不行调优化等级,再不行换单片机,减功能
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-8 20:28 , Processed in 0.156000 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表