defファイルの扱い方
DEFファイルをつくったら、同じフォルダに入れておけば、コンパイルするときに自動的に影響を与えてくれるのでしょうか?
しかしそれではできないようなので、DEFファイルをコンパイルオプションなどに織り込んで明示しなければいけないのでしょうか?
例
//mydll.c
int returnInt(int a){
return a;
}
これをコンパイルしてmydll.dllに。
//mydll.def
LIBRARY mydll
EXPORTS
returnInt @1 NONAME
これを同じディレクトリに。
//usedll.c
#include <windows.h>
int main(){
HINSTANCE hinstDLL;
FARPROC pProc;
hinstDLL = LoadLibrary("mydll.dll");
if(!hinstDLL){
puts("hinstDLL is NULL");
return 0;
}
pProc = GetProcAddress(hinstDLL, MAKEINTRESOURCE(1));
if(!pProc){
puts("pProc is NULL");
return 0;
}
printf("%d\n",pProc(9));
return 0;
}
これで使おうとしたらGetProcAddressの戻り値がNULLでした。
なにがいけないんでしょう?
お礼
ありがとうございます。