0

如何在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);
}
4

1 回答 1

1

检查那var不是NULL在调用之后GetProcAddress

使用MAKEINTRESOURCE可能会取得更大的成功,如下所示:

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

请记住调用free返回的指针,并在完成后malloc调用FreeLibraryhDLL

于 2012-07-19T12:00:31.730 回答