知识卡片

库函数可能很昂贵

普通读书笔记卡 · 1800.c

内容

一个看似普通的函数调用可能拉入整段库代码,尤其是格式化输出、除法、浮点或字符串处理。发散:嵌入式里“写一行代码”的成本要看[[映射文件解释代码膨胀]]后的链接结果,而不是源码行数。

参考来源

- 位置:《嵌入式系统设计与实践》第8章《事半功倍》"8.1.1 读映射文件(第1部分)"一节(源文件:_epub-src/OEBPS/text00112.html附近) - 结论依据:原文明确"减少空间占用的第一步就是找出哪部分特别大。最大的那些部分通常是一些库,特别是当使用浮点运算、C语言的标准I/O(scanf/printf),或者C++的iostream时。即使是简单的除法运算最终也会调用函数"。 - 原始内容:映射文件的这些信息描述了每个函数的大小。从中可以看出,减少空间占用的第一步就是找出哪部分特别大。最大的那些部分通常是一些库,特别是当使用浮点运算、C语言的标准I/O(scanf/printf),或者C++的iostream时。即使是简单的除法运算最终也会调用函数。