我是C++构建流程的新手,我正在考虑切换为我的库使用部分链接而不是创建ar
存档.我希望在我不可避免的最终编译步骤中减少链接时间,并且我想要部分链接一些库可以节省我在最后一步中链接所有内容的时间.
我所描述的可能吗?我认为它应该是一些事情ld -Ur -o mylib.o [components]
.是否有重要的构建注意事项,我没有考虑到?
丢失了将目标文件放在ar
存档中的重要影响,即只链接引用的对象.
如果您同时foo.o
使用符号foo
和bar.o并bar
在ar
存档中使用符号,并且仅引用该foo
符号,则仅foo.o
链接到.如果您改为执行部分链接,则两者的内容将最终在可执行文件中,甚至如果bar
从未在任何地方引用过
您也可以尝试更快的链接器,如黄金.