单片机如果存储空间紧张,就避免用 printf 类的函数

2025 年 6 月 9 日
 liuzhiyong

工作中把一些功能弄到较为低端的单片机,代码是现成的。倒腾之后编译,单片机存储不够了。

使劲把用不到的代码注释掉,存储空间还是不够。最后注释掉 printf 类的函数( sprintf 、snprintf 之类的),立刻节省了很多单片机的存储空间。

5334 次点击
所在节点    程序员
27 条回复
sampeng
2025 年 6 月 10 日
我都是 output 到串口之类的通信口。。简单可依赖。。。。
muooOOO
2025 年 6 月 10 日
microLib ,就很香。当然也可以自己写个 print ,能够打印字符串就行了,最多在加一个打印变量
383394544
2025 年 6 月 10 日
@ltyj2003 编译器写的汇编不一定是最优实现,有时还得直接写汇编。
Niunai
2025 年 6 月 10 日
缩小程序二进制文件的体积,通用做法是看 map 文件,根据 map 文件裁剪很直观。
spadger
2025 年 6 月 10 日
wanei
2025 年 6 月 10 日
串口打印,按位操作,对着自己写的手册 debug
PanuiQ
2025 年 6 月 11 日
调试过一个龙芯 2K1000 裸跑的项目的设备驱动移植,printf 没实现,自己整了 3 个函数,分别打印字符串、十进制数和十六进制数,错误打印不出来,需要自己把原来驱动的打印信息,一条拆成好几条打印

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1137456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX