今天在编写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》