为什么gd32用arm gcc和用keil编译,大小差几倍?

[复制链接]
6293|60
sdCAD 发表于 2025-8-12 21:26 | 显示全部楼层
CC和KEIL可能在不同的优化级别下生成不同大小的代码。
juliestephen 发表于 2025-8-12 22:22 | 显示全部楼层
Keil MDK可能会有一些预设的优化配置,使得默认情况下生成的代码更加紧凑。
51xlf 发表于 2025-8-14 13:03 | 显示全部楼层
ARM GCC通常具有更多的优化选项和参数,可以生成更小的代码。而Keil MDK可能默认使用较低的优化级别,导致生成的代码较大。
mikewalpole 发表于 2025-8-14 13:31 | 显示全部楼层
库文件和链接器设置              
sanfuzi 发表于 2025-8-14 14:42 | 显示全部楼层
编译器               
pentruman 发表于 2025-8-14 16:40 | 显示全部楼层
重新排列代码布局提升局部性              
gygp 发表于 2025-8-14 17:14 | 显示全部楼层
库支持差异              
9dome猫 发表于 2025-8-31 01:09 | 显示全部楼层
为什么会差好几倍?
LLGTR 发表于 2025-8-31 12:25 | 显示全部楼层
GD32使用ARM GCC编译生成的代码体积可能更大,因为GCC在优化上追求可移植性,而Keil则更侧重于针对ARM Cortex-M内核进行优化,使得代码更紧凑。
AutoMotor 发表于 2025-8-31 17:14 | 显示全部楼层
GD32使用ARM GCC和Keil编译器时,大小差异大是因为Keil在链接时默认添加了较多的启动代码和库文件,而ARM GCC更加精简。
单芯多芯 发表于 2025-9-3 11:57 | 显示全部楼层
因为GD32使用ARM GCC和Keil编译时,默认优化级别不同,导致代码体积差异大。ARM GCC通常更注重代码大小,而Keil则更注重编译速度和性能。
wex1002 发表于 2025-9-4 15:04 | 显示全部楼层
编译器自动生成调试信息,即使没开调试,符号表也会留些,使程序文件变大。
鹿鼎计 发表于 2025-9-7 10:36 | 显示全部楼层
调整链接脚本和选项可减小代码体积,就像整理抽屉一样,让东西更紧凑。
lllook 发表于 2025-9-8 20:30 | 显示全部楼层
编译器优化级别不同,影响程序运行效率和代码大小。
digit0 发表于 2025-9-11 17:06 | 显示全部楼层
优化设置不同确实会导致代码效率有较大差异。建议统一优化设置以提升性能。
Pretext 发表于 2025-9-12 14:51 | 显示全部楼层
此技术优化了单片机编程,大幅压缩代码大小,适合资源紧缺的微控制器。
线稿xg 发表于 2025-9-14 22:26 | 显示全部楼层
使用Keil时选专用ARM库,用gcc则选用GNU标准库。
jdqdan 发表于 2025-9-15 23:18 | 显示全部楼层
编译优化等级不同确实可能引起代码执行效率上的差异。
Moon月 发表于 2025-9-18 08:00 | 显示全部楼层
这功能可能用于自动创建复杂的数据分区,适用于大数据处理,比如在数据库或分布式系统中,提高数据处理效率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部