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

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

 火.. [复制链接]

3

主题

8

回帖

49

积分

等待验证会员

积分
49
发表于 2026-8-26 16:17:32 来自手机 | 显示全部楼层
用AICube生成的代码为嘛不行

点评

已经修复此问题,服务器端已推送最新版本,刷新STC-IDE即可更新  详情 回复 发表于 2026-8-26 17:16
已经复现此问题,正在排查 由于AiCube使用了较多的宏定义拼接操作。虽然我这边也有实现,但是没测试过是否兼容。 此问题将在下个版本推送修复  详情 回复 发表于 2026-8-26 16:33
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-26 16:33:10 | 显示全部楼层
冰*** 发表于 2026-8-26 16:17
用AICube生成的代码为嘛不行

已经复现此问题,正在排查
由于AiCube使用了较多的宏定义拼接操作。虽然我这边也有实现,但是没测试过是否兼容。
此问题将在下个版本推送修复
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-26 17:16:50 | 显示全部楼层
冰*** 发表于 2026-8-26 16:17
用AICube生成的代码为嘛不行

已经修复此问题,服务器端已推送最新版本,刷新STC-IDE即可更新
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-26 17:54:34 | 显示全部楼层
【STC32 IDE 编译器 2026年8月26日 更新汇总】

一、正确性修复(实机验证)
1. 中断函数提前 return 跑飞(裸 RET+不弹栈)——已修复
2. 指针 ++/-- 步进错误(u16/u32/结构体只 +1 字节)——已修复
3. typedef 指针强转((u16*)addr)不识别——已修复
4. 局部指针数组传参读到错值——已修复
5. 结构体初始化漏首成员——已修复
6. sizeof(&x) 表达式不支持——已修复
7. 宏函数误判导致编译崩溃(trim 错误)——已修复
8. 16 位返回值走内存拆装——已优化

二、新特性
- Keil _at_ 绝对地址定义(u8 var _at_ 0x100;)
- 编译期检查 5+1 项:负数数组长度、实参个数、隐式窄化、
  移位超宽、常量实参传播、const 数组越界(均报错/警告)

三、代码优化
- (u16)A<<8|B 字节组合直装:21 字节 → 6 字节
- 查表取反去除寄存器中转
- 16 位返回值不再拆装内存
- 寄存器分配 / 移位特殊化

四、其他
- SWD 断开/卡死三层防御 + 调试符号过期防御
- 防止因为未设置SWD调试模式或未连接MCU导致卡死
- SW 更新网络优先,修复"更新后刷新不生效"

回复

使用道具 举报 送花

已绑定手机

2

主题

21

回帖

1622

积分

金牌会员

积分
1622
发表于 2026-8-27 08:22:42 | 显示全部楼层
在定时中断中使用静态变量会提示未定义变量
截图202608270821031666.jpg

点评

新版本已推送,问题已解决,欢迎继续测试反馈  发表于 2026-8-27 09:24
推送稍微有点问题,暂时撤回一个更新,修复后会再次推送  发表于 2026-8-27 09:15
你好,此问题已修复,新版本已推送,刷新即可  发表于 2026-8-27 09:09
好的,问题已复现,将在下个版本修复此问题  详情 回复 发表于 2026-8-27 08:29
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-27 08:29:48 | 显示全部楼层
sion*** 发表于 2026-8-27 08:22
在定时中断中使用静态变量会提示未定义变量

好的,问题已复现,将在下个版本修复此问题
回复

使用道具 举报 送花

6

主题

90

回帖

826

积分

高级会员

积分
826
发表于 2026-8-27 11:05:05 | 显示全部楼层
现在编译器优化等级设置这块做了没有。IDE设计时能否考虑下大显示器下多窗口自由布局,多信息显示,调试舒服很多。能否考虑下程序文件编码的自动适配,打开时自动检测文件是GB2312还是UTF-8,并以对的方式打开。

点评

优化等级默认最高,无法更改。有针对小显示器下做自动布局设计,大显示器的话,代码编辑部分是可以通过Ctrl+滚轮放大/缩小的。程序文件编码都是自动适配的,导入的时候自动处理,内部都是以UTF-8存储(但是编译为HEX  详情 回复 发表于 2026-8-27 13:37
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-27 13:37:50 | 显示全部楼层
sdw*** 发表于 2026-8-27 11:05
现在编译器优化等级设置这块做了没有。IDE设计时能否考虑下大显示器下多窗口自由布局,多信息显示,调试舒 ...

优化等级默认最高,无法更改。有针对小显示器下做自动布局设计,大显示器的话,代码编辑部分是可以通过Ctrl+滚轮放大/缩小的。程序文件编码都是自动适配的,导入的时候自动处理,内部都是以UTF-8存储(但是编译为HEX的时候,可选中文字符串嵌入为GB2312或者UTF-8)
回复

使用道具 举报 送花

已绑定手机

2

主题

21

回帖

1622

积分

金牌会员

积分
1622
发表于 2026-8-27 16:32:40 | 显示全部楼层
使用AiCube生成的程序编译除两个改写警告,能正常编译,但编译出来的文件在开发板上无法正常运行,不管是在定时中断中加点灯,还是在主程序中加点灯
截图202608271631512340.jpg

点评

请问能提供对应的工程么,或者是什么型号配置下生成的 我尝试复现一下  详情 回复 发表于 2026-8-27 16:58
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4104

回帖

1万

积分

超级版主

积分
11138
 楼主| 发表于 2026-8-27 16:58:20 | 显示全部楼层
sion*** 发表于 2026-8-27 16:32
使用AiCube生成的程序编译除两个改写警告,能正常编译,但编译出来的文件在开发板上无法正常运行,不管是在 ...

请问能提供对应的工程么,或者是什么型号配置下生成的
我尝试复现一下
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-14 10:12 , Processed in 0.084150 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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