gpt4 book ai didi

windows - 为什么加载 dll 不需要完整的文件路径?在什么情况下此功能会有用?

转载 作者:可可西里 更新时间:2023-11-01 10:50:28 27 4
gpt4 key购买 nike

为什么 Windows 在调用 LoadLibrary 时不需要完整的文件路径,或者对于带有已注册 DLL 的 CLSID 等。在什么情况下有人会受益于不得不退回到 DLL 搜索顺序来查找 dll?

我的意思是,%SystemRoot% 或 %ProgramFiles% 等变量可以将您带到适当的文件夹,而 .\会让您留在当前目录中。那么为什么要含糊其词?

最佳答案

对于与 GetProcAddress() 的显式链接,我认为应该尽可能使用 DLL 的绝对路径。

对于与 .lib 文件的隐式链接,必须在链接时确定 DLL 的名称,这排除了绝对路径。

最安全的做法是将 DLL 放在与可执行文件相同的目录中,在 %Program Files% 下并受 UAC 保护,并使用新的 DLL 搜索顺序。

关于windows - 为什么加载 dll 不需要完整的文件路径?在什么情况下此功能会有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746715/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com