【发布时间】:2016-02-08 23:05:32
【问题描述】:
我熟悉使用静态存档时 --whole-archive 链接器选项的作用。
有没有办法通过某些符号属性或任何其他技巧在每个符号的基础上实现相同的效果?
为了清楚起见,假设我有一个 .a 有两个功能:
void foo() {}
void bar() {}
我想确保任何通过链接到此存档构建的可执行文件将始终具有 foo() 符号,无论是否使用 foo()。我同样不关心 bar()
谢谢。
【问题讨论】:
-
也许有链接脚本?
-
sourceware.org/binutils/docs/ld/File-Commands.html INPUT "例如,如果你总是想在任何时候做一个链接时都包含 subr.o,但是你懒得把它放在每个链接命令行上,那么你可以将 `INPUT (subr.o)' 放入链接描述文件中。"
标签: gcc linker static-libraries elf