gpt4 book ai didi

c++ - 我应该使用 GetProcAddress 还是只包含各种 win32 库?

转载 作者:太空狗 更新时间:2023-10-29 23:31:57 26 4
gpt4 key购买 nike

想知道有什么区别:

static PROCESSWALK pProcess32First=(PROCESSWALK)GetProcAddress(hKernel,"Process32First");
...
pProcess32First(...);

什么是hKernel?找here .您可以替换为 GetModuleHandle()

#include <Tlhelp32.h>
...
Process32First(...);

有什么区别,我想知道我应该使用哪个。那么在最佳实践方面有什么不同吗?

最佳答案

注意:我的回答假设该函数以任何一种方式都可用,如果您使用非导出函数,还需要考虑其他事项。

如果您使用 LoadLibrary 和 GetProcAddress,那么如果所需的库不存在,您可以选择以缩减的功能运行。如果您使用包含并直接链接库,并且 dll 不存在(或由于版本错误而没有导出),您的应用将无法加载。

只有当您想要使用某个给定 dll 的所有版本中都没有的函数时,它才会有所不同。

关于c++ - 我应该使用 GetProcAddress 还是只包含各种 win32 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493447/

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