我正在尝试将一些旧的MSVC C ++代码移植到MinGW / GCC。
一个问题是项目在很大程度上依赖于/ DELAYLOAD选项来查找并不总是使用的函数,以及正确的dll在运行时的位置。
MinGW / GCC上是否有类似的选项?
此代码的目标是Windows平台。
答案 0 :(得分:6)
在elf目标上(对于类Unix系统),您可以使用-z lazy
(MinGW也使用的链接器)指定ld
选项(无论如何都是默认选项)。
据我所知,i386 PE目标(适用于Windows) 没有明确的延迟链接选项。我找不到有关它的文件。
答案 1 :(得分:3)
我想补充一点,虽然延迟加载DLL似乎是Windows操作系统的一部分,但它们实际上是根据链接器生成的小存根实现的。至少,这曾经是这种情况。因此,在Windows操作系统级别上没有正式的“延迟加载”概念。有一个约定,基于链接器发出的二进制代码。