来自 Linux 手册页:arm-linux-gnu-strip 命令会丢弃目标文件 objfile 中的所有符号。目标文件列表可能包括档案。
何时使用这个命令以及出于什么目的?
答案1
符号只是一个函数/变量的名称,以及它在目标文件、存档(存档表示静态库)、共享库或可执行文件中的入口点的地址。
可执行文件不需要符号,因为通常没有任何东西链接到它们。
模块(插件)可能不需要符号。它们是库,在加载时,执行启动代码,该代码调用应用程序以向其提供指向回调函数和数据的指针。但应用程序不会按名称调用该插件中的函数,因此不需要符号。
strip
有一个选项可以只删除调试信息。因此,这是一种将库及其调试信息拆分为单独文件的方法。然后它通常会分发到单独的包中:例如libfoo
和libfoo-dbg
。