gpt4 book ai didi

C++:关于加载DLL和调用函数的一件小事

转载 作者:可可西里 更新时间:2023-11-01 11:21:04 25 4
gpt4 key购买 nike

我一直在寻找一些dll或类来获取客户端的硬件信息,终于找到了: http://www.soft.tahionic.com/download-hdd_id/index.html

谁能告诉我如何像下面那样调用函数?我在 C 中使用了这段代码,它可以工作。现在我无法将其转换为 C++。

  char* (__stdcall *GetIDESerialNumber)(BYTE);
HINSTANCE DllInst = NULL;
if (DllInst == NULL) DllInst = LoadLibrary("hardwareid.dll");
if (DllInst)
{
GetIDESerialNumber = (char* (__stdcall*)(BYTE))GetProcAddress(DllInst, "GetIDESerialNumber");
printf(GetIDESerialNumber(0));
}

如果有人能为我做这件事,我会很高兴,做了一些研究但仍然没有找到答案。

最佳答案

您的代码可能是特定于 Windows 的,应该这样标记。 Posix 系统将有 dlopen

C++ 函数名通常是 mangled并且您可能需要将损坏的名称传递给 GetProcAddress(或传递给 Unix 或 Linux 上的 dlsym)。

名称修改约定是特定于编译器和系统的。

关于C++:关于加载DLL和调用函数的一件小事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10478745/

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