strip命令
strip filename -o output_filename 或者直接 strip filename
strip 命令从 XCOFF 对象文件里有选择地除去行号信息、重定位信息、调试段、typchk 段、凝视段、文件头以及全部或部分符号表。脱掉文件的衣服,其中的符号信息,调试信息会失去。
参数
-p 保存原文件的修改日期。
-s 从目标文件中删除所有符号表和重定位信息,直接strip命令中已经有 -s的作用
-g 仅删除gcc -g
添加的调试信息
--strip-unneeded 仅删除那些对重定向过程不需要的符号信息
-X mode 指定应检查 strip 的对象文件的类型。 mode 必须是下列之中的一个: 32 仅仅处理 32 位对象文件, 64 仅仅处理 64 位对象文件, 32_64,既处理 32 位对象文件,又处理 64 位对象文件
注意
1)strip后文件变小
2)gcc 对于编译时已经进行深层优化的程序,使用strip命令可能会导致无法正常运行
3)不仅可以是可执行文件,也可以是目标文件,还有动态库(x.so),strip前的库用来调试, strip后的库用来实际发布, 他们两者有对应关系。 一旦发布的strip后的库出了问题, 就可以找对应的未strip的库来定位。
nm命令
列出文件的符号信息,文件可以是对象文件、可执行文件或对象文件库。