减小C语言生成的执行文件大小的方法(嵌入式)

来源:互联网 发布:怎么打开淘宝网址链接 编辑:程序博客网 时间:2024/05/22 05:23

编译过程添加

-ffunction-sections-fdata-sections

链接过程添加选项

-Wl,--gc-sections

可以使得编译出来的进程去除无用函数和全局变量符号,减少进程大小。
1. 编译过程中添加-ffunction-sections和-fdata-sections会在输出文件object中给每个函数和全局变量控制在一个section中并以对应的函数名或全局变量名命名,
2. 链接过程中-Wl,–gc-sections,因为链接时查找符号是以section为单元进行引用的,对于没有引用到的符号,对应的section也不会引进来,故排除掉了无用的函数和全局变更,从而减少可执行文件的大小。
这些选项对-g和gprof会有些影响
参考文件
【优化改进】Linux进程文件瘦身——Linux环境验证

0 0
原创粉丝点击