关于DLL加载顺序的问题

关于DLL加载顺序的问题,dll,loader,Dll,Loader,我们知道,对于可执行文件的隐式链接DLL,在加载时 随着时间的推移,它们将被加载程序加载到内存中 加载器将调用它们的入口点来初始化它们。 这是一个线性过程-它们一个接一个地加载,并且 一个接一个地初始化。所以最重要的是顺序, 秩序影响很多事情 Q1:初始化顺序可以不同于加载顺序,如下所示: 这是真的吗 Q2:加载顺序受导入表的影响,这是真的吗 Q3:独立DLL的初始化顺序受 导入表-可能会首先初始化DLL,因为它会出现 首先,这是真的吗?“进程是在挂起状态下创建的,具有 CREATE_挂起标志到

我们知道,对于可执行文件的隐式链接DLL,在加载时 随着时间的推移,它们将被加载程序加载到内存中 加载器将调用它们的入口点来初始化它们。 这是一个线性过程-它们一个接一个地加载,并且 一个接一个地初始化。所以最重要的是顺序, 秩序影响很多事情

Q1:初始化顺序可以不同于加载顺序,如下所示: 这是真的吗

Q2:加载顺序受导入表的影响,这是真的吗

Q3:独立DLL的初始化顺序受 导入表-可能会首先初始化DLL,因为它会出现 首先,这是真的吗?

“进程是在挂起状态下创建的,具有 CREATE_挂起标志到CreateProcess。迂回然后修改 应用程序二进制映像在新进程中包含 指定DLL作为其第一个导入。进程中的执行是 然后继续。当执行恢复时,Windows进程加载器 将首先加载目标DLL,然后加载 应用程序的导入表,然后调用应用程序条目 点。”

我在微软的文档中发现了这条重要信息 绕道而行。所以对于第二季度和第三季度,是的,这是真的。我会做更多的研究 关于这个话题