打印
[技术问答]

如何将单片机C语言程序改小

[复制链接]
611|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jimmhu|  楼主 | 2023-4-24 08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

如果超出太多就另想办法,例如更换单片机。

如果超出得不多,可以进行优化。这里又分为两种情况:如果你编程经验丰富,可以手动通过优化减小程序代码大小;如果你不太懂得如何手动优化,可尝试提高编译优化等级并优先针对代码大小进行优化,不过提高优化等级往往会带来更多的隐患,不建议这么做。

“对于程序中重复出现的指令,用子程序调用的方式是否能将程序大小改小?”你指的是重复代码段吧,某些优化等级下编译器已经自动进行了这种优化,这时再手动合并重复代码段有时反而会导致代码大小增大……需要具体试验进行。记得多备份。

“是不是说

程序的代码行数越少,这个程序的所占的空间大小会越小?”完全不是这么回事,某些时候一行C程序可能会编译出很长的汇编代码,尤其是那些卖弄C语言技巧的家伙们。我之前看过一个例子是某个家伙写的一行高度紧凑的语句编译出了数百字节。当然如果不幸调用了库函数会使得代码大小迅速膨胀。


使用特权

评论回复

相关帖子

沙发
tpgf| | 2023-5-9 14:24 | 只看该作者
即便是超出太多 也不排除是因为代码风格不好导致的

使用特权

评论回复
板凳
qcliu| | 2023-5-9 16:54 | 只看该作者
有的时候更改变量的定义位置 或者修改循环模式就可以大大减小代码体量

使用特权

评论回复
地板
drer| | 2023-5-9 17:15 | 只看该作者
这个得具体问题看了  得看是因为什么导致代码比较大的

使用特权

评论回复
5
coshi| | 2023-5-9 17:29 | 只看该作者
减少数组的应用  全局变量的应用 就能减小代码

使用特权

评论回复
6
caigang13| | 2023-5-9 19:26 | 只看该作者
一开始就要重视软件架构和数据结构设计

使用特权

评论回复
7
kxsi| | 2023-5-10 11:56 | 只看该作者
使用汇编语言代替c语言的话会使程序变小吗

使用特权

评论回复
8
wiba| | 2023-5-10 12:11 | 只看该作者
更换单片机的话 只能说前期规划太失败

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

3333

帖子

3

粉丝