共享库:删除未使用的符号

时间:2016-03-07 10:33:54

标签: c++ c gcc shared-libraries dynamic-linking

我想建立一个共享库 交叉编译对于这个来说并不容易,所以我想在编译期间删除所有不需要的函数(gcc)&链接(ld)。

在带有main()的可执行程序中,您可以使用

删除未使用的函数
  • C_FLAGS = -ffunction-sections -fdata-sections
  • LD_FLAGS = --gc-sections

使用此标志,GCC仅保留可从main访问的函数。

显然,共享库中没有main() 但是,有没有办法告诉GCC动态链接肯定需要哪些功能? 然后,GCC可以从这个函数构建一个调用树,并删除所有其他无法访问的函数。

这可能吗?
需要哪些GCC标志?

0 个答案:

没有答案