如何在vc ++中调用vc ++ dll。
<。>文件中的
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);
}
答案 0 :(得分:1)
致电var
后,检查NULL
是否为GetProcAddress
。
使用MAKEINTRESOURCE可能会有更多成功,例如:
var = (LPVAR)GetProcAddress(hDLL, MAKEINTRESOURCE(2));
请务必致电free
以获取malloc
返回的指针,并在完成hDLL
后致电FreeLibrary。