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

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

 火.. [复制链接]

0

主题

5

回帖

28

积分

新手上路

积分
28
发表于 2026-8-21 14:51:26 | 显示全部楼层
说了*** 发表于 2026-8-21 14:49
为什么不拿c++实现这个编译器呢,做出核心编译器,这样做成一个大的可执行文件的ide怎么和其他生态融合呢 ...

况且c预编译器根本不用自己实现,直接套用gnu的c preprocessor
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-21 16:52:45 | 显示全部楼层
说了*** 发表于 2026-8-21 14:49
为什么不拿c++实现这个编译器呢,做出核心编译器,这样做成一个大的可执行文件的ide怎么和其他生态融合呢 ...

当前是使用的TypeScript 编写,AST 部分并未自己实现,使用的是开源的 AST C11
只是后续对树的扫描,建立 IR 和优化是自己实现的
使用 TypeScript 考量是在浏览器端就可以直接运行,无需任何运行环境。
同时拥有跨端能力,可以在 MacOS、iOS、Linux、Android、Windows 及鸿蒙下全部支持
且当前 IDE 并不算非常大,经过 gzip 压缩后仅为 500KB 大小。
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-21 16:57:25 | 显示全部楼层
说了*** 发表于 2026-8-21 14:49
为什么不拿c++实现这个编译器呢,做出核心编译器,这样做成一个大的可执行文件的ide怎么和其他生态融合呢 ...

其实当前跟其他生态融合也非常方便。例如 VS Code 插件编写,就是官方推荐使用 TypeScript 方式。当前的 IDE 如果作为 VS Code 插件的话,无需任何更改,只需要外面套层壳就可以实现。
就算是离线版本,也可以直接使用系统的 WebView2 内核,。做出来的可执行文件 EXE 体积可以达到 1 MB 以内。
当然现在是为了不让杀毒软件报毒,所以使用了 AOT 方式增大了一些体积。但也只有 7 MB,相对于KEIL 这种较大的软件来讲已经很小了,且可以很方便地实现网页和本地离线版本的自动更新和内容分发,保证用户始终使用最新版本,同步最新的功能
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-21 17:01:26 | 显示全部楼层
zh*** 发表于 2026-8-21 11:23
这段代码在 STCIDE 中编译,T11中断输出不正确,同时没有T2中断输出,注释掉T11部分正常
不正确的T11

截图202608211700577579.jpg

你好,问题已经修复,版本尚未更新,等待其余内容验证过后统一推送


截图202608211705338226.jpg
如果型号选择不正确,现在也会进行报错,改善了提示范围
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-21 17:03:06 | 显示全部楼层
templ*** 发表于 2026-8-21 10:12
在头文件结尾#endif 后加入换行的/* */会报 条件编译中未闭合(#if/#ifdef/#ifndef 缺少#endif)

........ ...

截图202608211702381226.jpg

你好,问题已修复,版本尚未更新,等待其他内容验证过后统一推送
回复

使用道具 举报 送花

28

主题

158

回帖

1166

积分

金牌会员

积分
1166
发表于 2026-8-21 17:03:56 | 显示全部楼层
王*** 发表于 2026-8-21 17:01
你好,问题已经修复,版本尚未更新,等待其余内容验证过后统一推送
...

好的,谢谢,我测试的差不多了,准备移植一个完整项目看看
回复

使用道具 举报 送花

已绑定手机

13

主题

115

回帖

418

积分

中级会员

积分
418
发表于 2026-8-21 22:24:10 | 显示全部楼层
sdw*** 发表于 2026-8-21 09:09
现在没有必要现在啥都支持,先把C251指令集做完美,至少超过keil,其它的一步步支持,别分散精力,到时啥都 ...

基本和keil持平就可以了吧?毕竟网页版本身性能不如桌面应用

点评

其实就编译速度而言现在已经比 KEIL 快很多,但是优化上,较大的程序中还有差距,小程序已经基本超越  发表于 2026-8-21 23:11
只要不死学,就往学里死
回复

使用道具 举报 送花

已绑定手机

13

主题

115

回帖

418

积分

中级会员

积分
418
发表于 2026-8-21 22:30:56 | 显示全部楼层
王*** 发表于 2026-8-21 16:57
其实当前跟其他生态融合也非常方便。例如 VS Code 插件编写,就是官方推荐使用 TypeScript 方式。当前的  ...

可以直接在网页端加一个下载离线包的按钮

点评

好的,会考虑这个的  详情 回复 发表于 2026-8-21 23:09
只要不死学,就往学里死
回复

使用道具 举报 送花

已绑定手机

13

主题

115

回帖

418

积分

中级会员

积分
418
发表于 2026-8-21 22:35:06 | 显示全部楼层
切换工程的时候选择的芯片和EPP FLASH都无变化

点评

现在是功能不随芯片绑定的,这个确实是设计疏漏,下个版本将会补充这个功能,工程内记录芯片之类的配置  详情 回复 发表于 2026-8-21 23:10
只要不死学,就往学里死
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-21 23:09:51 | 显示全部楼层
14712*** 发表于 2026-8-21 22:30
可以直接在网页端加一个下载离线包的按钮

好的,会考虑这个的
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-14 10:02 , Processed in 0.076802 second(s), 85 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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