gpt4 book ai didi

c++ - vc++ 应用程序按序号调用 vc++ dll

转载 作者:行者123 更新时间:2023-11-28 08:00:42 27 4
gpt4 key购买 nike

如何在vc++中调用vc++dll。

在.h文件中

typedef int (*LPVAR)(char * ptr_f, char *CC);
HINSTANCE hDLL;

在.cpp 文件中

hDLL = NULL;
LPVAR var;
hDLL = LoadLibrary("Pro.dll");


if( hDLL == NULL )
AfxMessageBox("Could not load the DLL");
else
{
var = (LPVAR)GetProcAddress(hDLL, "#2"); //2 is ordinal no
char *ch,*a;
ch = (char*)malloc(100*sizeof(char));
a = (char*)malloc(10*sizeof(char));
int c = var(ch,a);
}

最佳答案

在调用 GetProcAddress 后检查 var 不是 NULL

使用 MAKEINTRESOURCE 可能会更成功,像这样:

var = (LPVAR)GetProcAddress(hDLL, MAKEINTRESOURCE(2));

记得为malloc返回的指针调用free,调用FreeLibrary当您完成 hDLL 时。

关于c++ - vc++ 应用程序按序号调用 vc++ dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11558923/

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