链接两个目标文件并解析这些文件中的符号

时间:2019-05-17 00:42:31

标签: c ld node-gyp node-addon node-addon-api

我想通过链接/加载两个文件file-12.ofile-1.o来创建file-2.o,以便file-1.o中的函数引用可以由{{ 1}}已解析,但其他符号在后续加载中仍待解析。

这可能吗?我正在linux(ubuntu 18.04)上使用gnu工具链。

我尝试使用file-2.o,但无法解析函数调用(如objdump -S所示),即callq指令仍显示ld -r -o file-12.o file-1.o file-2.o

这个What is Partial Linking in GNU Linker?似乎表明这是不可能的,或者至少这位作者不知道该怎么做(“这还告诉我,GCC不会在最终链接之前解析函数调用,无论是TODO原理,可能迫使它解决?”)

作为一个小背景,我试图在节点11/12环境中链接到hdr_histogram。作为性能挂钩的一部分,他们开始使用hdr_histogram,并且我的节点插件正在链接到节点版本,而不是我希望链接的库。因此,如果您知道在链接优先级时让node-gyp在节点库之前对我的库进行优先级排序的方法,那么该解决方案也将对我有用。

0 个答案:

没有答案