使用mingw-w64
工具链时,我看到链接器正在链接存根库而不是直接链接。例如,链接器将选择链接到libkernel32.a
哪个是导入库。
这激发了我的好奇心,并提出了以下问题:
- 请参阅下文以查找其中
libws2_32.a
已编译的源代码。我反汇编它,发现它包含存根和代码——好像它是一个导入库和静态库混合。这通常在 MinGW 环境之外是可能的吗 - 有一个包含有效代码的导入库?
资料来源:https ://github.com/mirror/mingw-w64/tree/master/mingw-w64-crt/libsrc/ws2tcpip
- 较小的警告问题:链接器之间是否有确定运行时 DLL 名称的商定方法?例如,如果我链接到
libws2_32.a
然后链接器推断运行时 DLL 是ws2_32.dll
. 这是一个特定于实现的功能,还是有一个约定的约定来存储和定位原始 DLL 名称?