大家碰到过吗? Keil C51 的怪现象
下图左边是 Keil C51 V9.6版本, 左边是 Keil C51 V8.09版本,
同一个项目, 同样的编译优先级, 编译后的代码长度不回.
明显 Keil C51 V8.09 (低版本) 胜出. {:shengli:}
这个要看产生的汇编指令吧。 不同版本的编译器,生成的目标代码不同很正常,要是一样的话那就不叫升级了,有可能新版本重点优化的运行速度,低版本重点优化代码大小 小飞侠 发表于 2024-12-5 07:18
不同版本的编译器,生成的目标代码不同很正常,要是一样的话那就不叫升级了,有可能新版本重点优化的运行速 ...
都是 9级优级, 代码长度优先 问题是, Flash 为 16k, 用老版本, 能正常编译使用.
用新版本, ROM编译长度超差(大于 16K), 已不能正常写入芯片使用了. :liulei:
个人感觉要是低版本的编译出来的工程你这里的用的没事,,而且也不需要升级版本带来的功能变化,或者BUG的修复。那你就继续用低版本呗。我们自己工作用的东西,不出现严重bug的情况下,什么都不升级。。:xiaoku:
遇到过,当时用15W100,低版本编译器,正好一个字节不多一个字节不少,换新版编译器多了一个字节,下载进去不工作 DebugLab 发表于 2024-12-5 09:10
遇到过,当时用15W100,低版本编译器,正好一个字节不多一个字节不少,换新版编译器多了一个字节,下载进去 ...
总感觉如果用到这种程度的话,,,还有重新编译的需求么。。。(捂脸笑哭)
奇怪了这个回复里面不能打表情。, 楼主如果没试过REMOVEUNUSED大法,可以用起来
keil内部的升级和改变是咱们不知道的,但是实际应用可以根据升级的readme来做一些调整。如果影响不大可以不理,如果影响大,那就针对代码做一些优化。
不用过于纠结。
页:
[1]
2