找回密码
 立即注册
查看: 1454|回复: 10

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

[复制链接]
  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
    发表于 2023-1-12 12:13:25 | 显示全部楼层 |阅读模式
    现在总算想明白了, 周公为什么弄不出C51编译器, 杂议C51编译器开发



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

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

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

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


    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
     楼主| 发表于 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级优化,缩短程序代码长度,作用有限。
  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
     楼主| 发表于 2023-1-12 12:14:16 | 显示全部楼层
    周公手下的软件开发部,先搞了个 IDE(外挂IAR c51编译器),后面又开发了ASM51汇编,就是没有推出C51编译器。

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

    没有优秀的优化方案优化算法支持,花再大的努力也是没用的。
  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
     楼主| 发表于 2023-1-12 12:20:24 | 显示全部楼层
    没有对比就没有伤害,上有 Keil,IAR 优秀软件压着,并且国内用的大多数是 D版(不花钱),如果周公搞的C51编译器,

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

    该用户从未签到

    0

    主题

    5

    回帖

    20

    积分

    新手上路

    积分
    20
    发表于 2023-1-13 08:35:18 | 显示全部楼层
    国内的编译期确实还有这些问题,不过总要自己搞的。
  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
     楼主| 发表于 2023-1-13 12:15:32 | 显示全部楼层
    dayuhome 发表于 2023-1-13 08:35
    国内的编译期确实还有这些问题,不过总要自己搞的。

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

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

    重点是都是独家垄断的 自成体系芯片, 没有其他相关的 C编译器作对比, 就没有伤害.
  • TA的每日心情
    开心
    2023-12-18 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    12

    主题

    89

    回帖

    239

    积分

    中级会员

    积分
    239
    发表于 2023-3-18 11:37:09 | 显示全部楼层
    现在编译器主流只有IAR和KEIL了,现在的IAR在51应用上也有没落的迹象了
  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    39

    主题

    881

    回帖

    4106

    积分

    荣誉版主

    积分
    4106
     楼主| 发表于 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 .

  • TA的每日心情
    开心
    17 小时前
  • 签到天数: 170 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1355

    积分

    荣誉版主

    积分
    1355
    发表于 2023-3-18 13:29:16 | 显示全部楼层
    周立功老先生的功力还是很深厚的,至今仍在coding....,
  • TA的每日心情
    开心
    17 小时前
  • 签到天数: 170 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1355

    积分

    荣誉版主

    积分
    1355
    发表于 2023-3-18 13:32:41 | 显示全部楼层
    本帖最后由 社区闲人 于 2023-3-19 08:33 编辑
    LAOXU 发表于 2023-1-12 12:13
    又从网下载了 SDCC源码, 粗看了一遍源码, C编译器的基本常用函数库都有,51的单精度浮点数函数库未看到,重 ...

    SDCC源码能放出来吗?我在网上找不到。
    已找到。多谢。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-16 22:41 , Processed in 0.068117 second(s), 64 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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