MinGW / GCC延迟加载DLL等效?

时间:2009-12-05 05:50:58

标签: c++ visual-studio gcc mingw visual-c++

我正在尝试将一些旧的MSVC C ++代码移植到MinGW / GCC。

一个问题是项目在很大程度上依赖于/ DELAYLOAD选项来查找并不总是使用的函数,以及正确的dll在运行时的位置。

MinGW / GCC上是否有类似的选项?

此代码的目标是Windows平台。

2 个答案:

答案 0 :(得分:6)

在elf目标上(对于类Unix系统),您可以使用-z lazy(MinGW也使用的链接器)指定ld选项(无论如何都是默认选项)。

据我所知,i386 PE目标(适用于Windows) 没有明确的延迟链接选项。我找不到有关它的文件。

答案 1 :(得分:3)

我想补充一点,虽然延迟加载DLL似乎是Windows操作系统的一部分,但它们实际上是根据链接器生成的小存根实现的。至少,这曾经是这种情况。因此,在Windows操作系统级别上没有正式的“延迟加载”概念。有一个约定,基于链接器发出的二进制代码。