gpt4 book ai didi

winapi - LoadLibrary 是否创建不同的实例?

转载 作者:行者123 更新时间:2023-12-03 11:52:48 26 4
gpt4 key购买 nike

如果我使用 Win32 API LoadLibrary 连续 3 次加载相同的 DLL,它应该返回 3 个不同的句柄,并且每个库中的函数都应该有不同的地址,对吗? (或者它会做一些“智能”的事情并检测是否已经为进程加载了 dll 并只是指向同一个模块?)

最佳答案

它做了一些聪明的事情。 Windows 为通过 LoadLibrary 加载的每个 DLL 保留一个引用计数。这就是为什么您必须为每个相应的 LoadLibrary 调用调用一次 FreeLibrary。假设您不首先释放 DLL,每次调用 LoadLibrary 都会为您提供相同的句柄。

来自 FreeLibrary 的 MSDN 文档:

Each process maintains a reference count for each loaded library module. This reference count is incremented each time LoadLibrary is called and is decremented each time FreeLibrary is called.

关于winapi - LoadLibrary 是否创建不同的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3497516/

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