#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include "GcmLcm.h"
int (*fpGcm)(int, int); // gcm() 関数のエントリポイント
int (*fpLcm)(int, int); // lcm() 関数のエントリポイント
int main(void)
{ HINSTANCE hMydll;
// DLL をロードする
hMydll = LoadLibrary(L"GcmLcm.dll");
if (!hMydll)
{ printf("GcmLcm.dll の Load に失敗しました\n");
return -1;
}
// 関数のエントリアドレスを求める
fpGcm = (int(*)(int, int))GetProcAddress(hMydll,"gcm");
if (fpGcm == NULL)
{ FreeLibrary(hMydll);
printf("gcm() 関数がみつかりません\n");
return -1;
}
fpLcm = (int(*)(int, int))GetProcAddress(hMydll,"lcm");
if (fpLcm == NULL)
{ FreeLibrary(hMydll);
printf("lcm() 関数がみつかりません\n");
return -1;
}
// DLL 関数の呼び出し
printf("GCM(24,32)=%d LCM(24,32)=%d\n", (*fpGcm)(24,32),(*fpLcm)(24,32));
FreeLibrary(hMydll);
_getch();
return 0;
}
|