找回密码
 立即注册
楼主: 王昱顺

自研C语言编译器发布,STC IDE —— 面向STC32系列及AI8051U的C语言编译器,11/7更新

 火.. [复制链接]
已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 5 天前 | 显示全部楼层
我最近搞一个AI自动生成的平台。大气不。现在正在做自己的编译器,不知芯片厂商有没有相关的资料提供一下呢。
截图202611090936209752.jpg

点评

详见技术手册: [attachimg]150710[/attachimg] 或可参照Keil的帮助文档,有一些说明内容  详情 回复 发表于 5 天前
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 5 天前 | 显示全部楼层
MCU p*** 发表于 2026-11-9 09:38
我最近搞一个AI自动生成的平台。大气不。现在正在做自己的编译器,不知芯片厂商有没有相关的资料提供一下呢 ...

详见技术手册:

截图202611091130003197.jpg
或可参照Keil的帮助文档,有一些说明内容
回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 4 天前 | 显示全部楼层
王*** 发表于 2026-11-9 11:30
详见技术手册:

测试编译器 支持STC及51内核

我没有32G的开发板,有家帮我测试一下。

点「打开工程」,选你的工程目录(就是有 src/、inc/ 那层)。

它会:
    • 跳过构建目录(Objects/、Listings/ 之类)和二进制文件
    • 读 project.json(如果有)确定编译哪些 .c
    • 把 #include 的头文件内容内联进来
    • 每个 .c 变成一个标签页,一次编完再链接

如果编译报"找不到 系统头 xxx.h",说明头文件不在工程目录里,
而是躺在 Keil 安装目录(比如 C:\Keil_v5\C51\INC\STC)。
两个办法:

    办法一(推荐,一次搞定整批):点「附加头目录」,
        选那个 INC 目录,里面所有 .h 都能被找到。

    办法二(只要几个):点「+ 头文件」,手动挑 .h 文件,可多选。
        按住 Shift 点「+ 头文件」= 清空已附加的头文件。

mcc 不内置任何厂商头文件,也不偷偷复制第三方头,
所以头文件必须你自己提供——这是故意的,避免头文件版本对不上。


【2.5 中文注释和 GBK 头文件】

源码读取策略:先按 UTF-8 读,失败就按 GB18030(GBK 超集)再读一次。
STC 官方给的 .H 基本都是 GBK,可以直接用。
但同一个文件里不要混用两种编码,否则会出现乱码或报错。

回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 4 天前 | 显示全部楼层
https://www.ychy368.cn:3000/   刚做好的51编译器,

点评

非常令人鼓舞的消息,请问: (1)你的编译器 能不能编译A51的汇编语言程序文件? (2)你的编译器 能不能同时编译两个C语言程序文件,比如一个是跑马灯程序,另一个是软件延时程序,然后把这两个程序连接起来? (  详情 回复 发表于 4 天前
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

79

主题

1112

回帖

4886

积分

荣誉版主

积分
4886
发表于 4 天前 | 显示全部楼层

非常令人鼓舞的消息,请问:

(1)你的编译器 能不能编译A51的汇编语言程序文件?
(2)你的编译器 能不能同时编译两个C语言程序文件,比如一个是跑马灯程序,另一个是软件延时程序,然后把这两个程序连接起来?
(3)你的编译器 能不能生成目标模块,比如将软件延时程序生成一个二进制文件,然后供另一个C语言程序比如跑马灯程序调用?
(4)我看你的编译器的指令集选项中有很多:
MCC_编译器.jpg
除了8051,其它的C251和Cortex-M已经实现了吗?
回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 3 天前 | 显示全部楼层
杨*** 发表于 2026-11-10 23:58
非常令人鼓舞的消息,请问:

(1)你的编译器 能不能编译A51的汇编语言程序文件?

8051的和C251的都可以了,现在还在优化体积。大部份的代码体积比keil还要小。 CORTEX-M暂时没有。
回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 3 天前 | 显示全部楼层
大家在测试的时候,遇到有任何问题,希望在这里给我上报,让我继续修改。

点评

首先祝贺,其次我很关心: (1)你的编译器 能不能编译A51的汇编语言程序文件? (2)你的编译器 能不能同时编译两个C语言程序文件,比如一个是跑马灯程序,另一个是软件延时程序,然后把这两个程序连接起来? (3  详情 回复 发表于 3 天前
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

79

主题

1112

回帖

4886

积分

荣誉版主

积分
4886
发表于 3 天前 | 显示全部楼层
MCU p*** 发表于 2026-11-11 09:30
大家在测试的时候,遇到有任何问题,希望在这里给我上报,让我继续修改。 ...


首先祝贺,其次我很关心:
(1)你的编译器 能不能编译A51的汇编语言程序文件?
(2)你的编译器 能不能同时编译两个C语言程序文件,比如一个是跑马灯程序,另一个是软件延时程序,然后把这两个程序连接起来?
(3)你的编译器 能不能生成目标模块,比如将软件延时程序生成一个二进制文件,然后供另一个C语言程序比如跑马灯程序调用?
回复

使用道具 举报 送花

已绑定手机

1

主题

13

回帖

159

积分

注册会员

积分
159
发表于 3 天前 | 显示全部楼层
杨*** 发表于 2026-11-11 09:55
首先祝贺,其次我很关心:
(1)你的编译器 能不能编译A51的汇编语言程序文件?
(2)你的编译器 能不能 ...

汇编暂时不做。两个C合并,没研究过, 你的这些有点难度。

点评

(1)上面的这三个应用场景是对一个可以实用的C语言编译器的基本要求。 (2)不知道你的前端C编译器使用的是什么开源软件? (3)你的这个开源前端支持C11和C++吗? (4)除了开源前端,你自己还具体做了哪些工作?  详情 回复 发表于 3 天前
回复

使用道具 举报 送花

79

主题

1112

回帖

4886

积分

荣誉版主

积分
4886
发表于 3 天前 | 显示全部楼层
MCU p*** 发表于 2026-11-11 11:37
汇编暂时不做。两个C合并,没研究过, 你的这些有点难度。

(1)上面的这三个应用场景是对一个可以实用的C语言编译器的基本要求。
(2)不知道你的前端C编译器使用的是什么开源软件?
(3)你的这个开源前端支持C11和C++吗?
(4)除了开源前端,你自己还具体做了哪些工作?
我很想知道如何利用开源前端做一个实际的C语言编译器,你方面介绍一下自己的经验,让我们都学习一下,谢谢!



回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-14 09:28 , Processed in 0.075479 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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