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そうでないことを確認します。NULLGetProcAddress

次のように、MAKEINTRESOURCEを使用すると、より成功する可能性があります。

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

freeによって返されたポインタmalloc呼び出すことを忘れないでください。hDLL

于 2012-07-19T12:00:31.730 に答える