0
点赞
收藏
分享

微信扫一扫

【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解

今天在编写cmakelists.txt和shell脚本后,执行编译过程,发现编译出来的updateApp可执行程序在2M多,所以想着看看是否可以使用strip进行一下瘦身,结果查看相关资料和gcc手册发现-s选项可以达到该结果。

  1. 在CMakeLists.txt中不使用-s选项(只在release版本执行瘦身,debug版本不做)
  2. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_符号表

  3. 执行nm updateApp查看符号表会发现如下
  4. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_符号表_02

  5. ls -l updateApp查看该文件大小
  6. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_linux_03

  7. 使用-s编译选项查看相关结果并查看相关可执行程序大小
  8. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_可执行程序_04


  9. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_符号表_05

  10. gcc本身有一个-s连接选项(Link Option)用于删除执行程序的符号表和重定位信息
  11. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_linux_06

  12. 参见gcc官方手册《3.14 Options for Linking》
  13. 【genius_platform软件平台开发】第三十讲:cmake\gcc:strip(-s)选项之程序瘦身详解_符号表_07


举报

相关推荐

0 条评论