今天在编写cmakelists.txt和shell脚本后,执行编译过程,发现编译出来的updateApp可执行程序在2M多,所以想着看看是否可以使用strip进行一下瘦身,结果查看相关资料和gcc手册发现-s选项可以达到该结果。
- 在CMakeLists.txt中不使用-s选项(只在release版本执行瘦身,debug版本不做)
- 执行nm updateApp查看符号表会发现如下
- ls -l updateApp查看该文件大小
- 使用-s编译选项查看相关结果并查看相关可执行程序大小
- gcc本身有一个-s连接选项(Link Option)用于删除执行程序的符号表和重定位信息
- 参见gcc官方手册《3.14 Options for Linking》