硬汉嵌入式论坛

 找回密码
 立即注册
查看: 794|回复: 8
收起左侧

[技术讨论] 大佬们都是怎么省代码的,省代码太难了

[复制链接]

8

主题

17

回帖

41

积分

新手上路

积分
41
发表于 2023-5-31 10:45:46 | 显示全部楼层 |阅读模式

回复

使用道具 举报

334

主题

2031

回帖

3038

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3038
发表于 2023-5-31 15:28:51 | 显示全部楼层
现在芯片的flash空间都是足够大的啊,不必要产生空间焦虑。 一般功能执行类代码都不长。主要是各种字库,图片库比较占空间,针对性降低字库和图片质量和数量就可以了。。
回复

使用道具 举报

8

主题

17

回帖

41

积分

新手上路

积分
41
 楼主| 发表于 2023-5-31 16:28:44 | 显示全部楼层
caicaptain2 发表于 2023-5-31 15:28
现在芯片的flash空间都是足够大的啊,不必要产生空间焦虑。 一般功能执行类代码都不长。主要是各种字库,图 ...

好的,那对于小的一次性单片机来说呢,有什么好的方法吗
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2023-5-31 16:46:49 | 显示全部楼层
那要看你芯片容量和实际代码大小的差距,差距不大的话没准可以。差距太大就别想了,换容量更大的。
回复

使用道具 举报

8

主题

17

回帖

41

积分

新手上路

积分
41
 楼主| 发表于 2023-5-31 16:56:14 | 显示全部楼层
ghslfgkkl88 发表于 2023-5-31 16:46
那要看你芯片容量和实际代码大小的差距,差距不大的话没准可以。差距太大就别想了,换容量更大的。

现在差200多个字节,不知道怎么省
回复

使用道具 举报

19

主题

233

回帖

290

积分

高级会员

积分
290
发表于 2023-5-31 17:21:39 | 显示全部楼层
优化等级提升一下
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2023-5-31 18:08:38 | 显示全部楼层
200多字节还好吧?先把优化开到最大,有按空间优化的再选空间优化。其他的方法就很多了,包括但不限于如下:
1. 不要用inline关键字;
2. 常量不要用宏定义,比如#define PI 3.14 改成const float PI = 3.14;
3. 同上一条,如果程序里面有大量相同的常量数据,定义成一个,比如在多个地方使用了100,那就不要直接用100,定义成const int8_t hundred = 100;然后再需要的地方使用hundred这个变量;
4. 常量数据按最小容量定义,比如 const int32_t i=10;改成const int8_t i = 10;
5. 函数里面相同的代码段,封装成一个函数。
……
回复

使用道具 举报

4

主题

25

回帖

37

积分

新手上路

积分
37
发表于 2023-5-31 19:34:25 | 显示全部楼层
多用栈空间,少用全局、静态变量
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2023-6-7 10:08:45 | 显示全部楼层
ghslfgkkl88 发表于 2023-5-31 18:08
200多字节还好吧?先把优化开到最大,有按空间优化的再选空间优化。其他的方法就很多了,包括但不限于如下 ...

学习了!!!!!!
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-25 19:11 , Processed in 0.171438 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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