使用gcc/g++编译程序,通常我们关注编译是否成功,甚至大多数时候编译告警也抛在一旁。但是,在嵌入式等内存稀缺平台,发布程序时需要尽可能减小编译后程序的大小。我们又该如何优化编译程序大小呢?
工具/原料
1
gcc/g++编译器
2
notepad++编辑器
方法/步骤
1
为了说明减小编译程序大小,我们编写一个简单的程序代码。
2
执行编译后,我们看一下程序的内存占用情况
3
查看gcc/g++编译命令,我们会发现它们后面还可以加上一大堆编译选项。如通常-i选项(设置头文件查找路径) -L(设置动态库查找路径)等。首先:不要添加-g选项,忽略调试信息。在编译时,如果添加-g选项,则程序为了调试会添加其他消息,增加可执行程序大小
4
增加使用-Os等编译选项。gcc/g++默认-O0,不对程序进行优化。Os选项会对程序大小进行优化。
5
最后,使用strip命令可以去除可执行文件中的一些符号表、调试符号表信息,从而减小程序大小。
6
gcc/g++编译器选项比较多,网上还有介绍其他方法,笔者也未进行验证,这里也一并列出,供读者参考。
注意事项
1
添加编译选项优化程序大小,可能会引起程序执行过程中某些使用到的特性功能
2
优化程序后,会影响gdb调试的使用
上一篇:C和python有什么区别
下一篇:电脑怎么打摄氏度°c