LAOXU 发表于 2023-1-12 12:13:25

现在总算想明白了, 周公为什么弄不出C51编译器, 杂议C51编...

现在总算想明白了, 周公为什么弄不出C51编译器, 杂议C51编译器开发



这几天等 STC32开发板, 淘宝买的一个星期了, 还在石家庄转圈, 官方送的, 也不知在哪个地方转圈(快递半个月收不到, 已成常态).

网上有人提起用 mcu8051ide开发51, 正好有点空, 上网下载了 mcu8051ide源码, 粗看了一下, 功能还行, 51汇编功能比轻强大,

反汇编功能比轻弱, 还有硬件扩展连接方面写的比较详细, 有利于外挂下载器、仿真器,没有C编译器,需用户外挂,免费的其推荐 SDCC,

IDE界面类拟于早期的 Keil IDE,毕竟 mcu8051ide开发的早,已有 6年未更新了。


LAOXU 发表于 2023-1-12 12:13:52

又从网下载了 SDCC源码, 粗看了一遍源码, C编译器的基本常用函数库都有,51的单精度浮点数函数库未看到,重点看了C代码优化,

感觉功能太弱, 仅有底层最简单的从上级输出到下级输入类的基本优化,功能强大一些的C

例如上下两级输出、输入为 BYTE类型,且 R7作为函数传输中转变量

从上级输出到下级输入程序代码例子如下:
上级输出代码:        。。。
                        MOV        R7,A
                        MOV        VAR1,R7        ;输出到变量 VAR1
下级输入代码:                MOV        R7,VAR1        ;读入变量 VAR1
                        。。。

优化后,变量 VAR1 写入与读出,去除了。这种优化,相当于 Keil 1~2级优化,缩短程序代码长度,作用有限。

LAOXU 发表于 2023-1-12 12:14:16

周公手下的软件开发部,先搞了个 IDE(外挂IAR c51编译器),后面又开发了ASM51汇编,就是没有推出C51编译器。

现在总算想明白了, 周公搞出的C51编译器, 优化层度不够,要深层次的优化,不是单靠几个C编程老司机,就能做到的!

没有优秀的优化方案优化算法支持,花再大的努力也是没用的。

LAOXU 发表于 2023-1-12 12:20:24

没有对比就没有伤害,上有 Keil,IAR 优秀软件压着,并且国内用的大多数是 D版(不花钱),如果周公搞的C51编译器,

代码优化层度不够,比 Keil,IAR 软件编译后的代码长度长许多,其最终结果可想而之了。

dayuhome 发表于 2023-1-13 08:35:18

国内的编译期确实还有这些问题,不过总要自己搞的。

LAOXU 发表于 2023-1-13 12:15:32

dayuhome 发表于 2023-1-13 08:35
国内的编译期确实还有这些问题,不过总要自己搞的。

我试过两家 仿 PIC的, 一家小单位, C编译器 编译出来的 结果, 我要 骂X ,一点基本的优化都没有, 这能用 ?

还有一家 海尔的, C编译器 编译出来的 结果 还行, 就是功能弱了点.

重点是都是独家垄断的 自成体系芯片, 没有其他相关的 C编译器作对比, 就没有伤害.

xhbwork 发表于 2023-3-18 11:37:09

现在编译器主流只有IAR和KEIL了,现在的IAR在51应用上也有没落的迹象了

LAOXU 发表于 2023-3-18 12:19:28

xhbwork 发表于 2023-3-18 11:37
现在编译器主流只有IAR和KEIL了,现在的IAR在51应用上也有没落的迹象了

主要是D版横行, 成本几乎为 0,KEIL 的 D版比 IAR 更容易获得, 所以KEIL 在大陆胜出.

在国外, 程序员大多使用 Linux,使用 WINDOWS 要花钱的,

而国内, 程序员开发, 基本使用 D版的 WINDOWS .

社区闲人 发表于 2023-3-18 13:29:16

周立功老先生的功力还是很深厚的,至今仍在coding....,

社区闲人 发表于 2023-3-18 13:32:41

本帖最后由 社区闲人 于 2023-3-19 08:33 编辑

LAOXU 发表于 2023-1-12 12:13
又从网下载了 SDCC源码, 粗看了一遍源码, C编译器的基本常用函数库都有,51的单精度浮点数函数库未看到,重 ...
SDCC源码能放出来吗?我在网上找不到。
已找到。多谢。
页: [1] 2
查看完整版本: 现在总算想明白了, 周公为什么弄不出C51编译器, 杂议C51编...