显式启用-u_printf_float和-u_scanf_float前后的代码尺寸占用实验

张开发
2026/4/15 3:47:49 15 分钟阅读

分享文章

显式启用-u_printf_float和-u_scanf_float前后的代码尺寸占用实验
本文中使用的嵌入式编译器基于arm-none-eabi-gcc构建文件基于Makefile。main.c不编写任何代码保证实验的其他变量统一。源文件main.c代码模式固定为Debug优化等级固定为-Ogsyscalls.c系统调用库函数文件参考基于arm-none-eabi-gcc编译工具链的串口重定向printf下面开始作实验对比实验一全部显式启用-u_printf_float和-u_scanf_float编译出的代码尺寸为23440B464B23904B。如下图所示实验二只显式启用-u_printf_float不显式启用-u_scanf_float编译出的代码尺寸为15252B464B15716B。如下图所示实验三只显式启用-u_scanf_float不显式启用-u_printf_float编译出的代码尺寸为18556B464B19020B。如下图所示实验四关闭全部显式启用-u_printf_float和-u_scanf_float编译出的代码尺寸为1108B8B1116B。如下图所示总结实验一实验二实验三实验四-u_printf_float、-u_scanf_float只启用-u_printf_float只启用-u_scanf_floatNone23904B15716B19020B1116B可以得到明显的结论显式启用-u_printf_float和-u_scanf_float会增加将近23904B - 1116B 22788B ≈ 22.25KB的代码尺寸。

更多文章