• 締切済み

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(){ &nbsp;HINSTANCE hinstDLL; &nbsp;FARPROC pProc; &nbsp;hinstDLL = LoadLibrary("mydll.dll"); &nbsp;if(!hinstDLL){ &nbsp;&nbsp;puts("hinstDLL is NULL"); &nbsp;&nbsp;return 0; &nbsp;} &nbsp;pProc = GetProcAddress(hinstDLL, MAKEINTRESOURCE(1)); &nbsp;if(!pProc){ &nbsp;&nbsp;puts("pProc is NULL"); &nbsp;&nbsp;return 0; &nbsp;} &nbsp;printf("%d\n",pProc(9)); &nbsp;return 0; } これで使おうとしたらGetProcAddressの戻り値がNULLでした。 なにがいけないんでしょう?

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

defファイルはリンカオプションで指定する必要があります。指定がない場合はdefファイルがないものとして扱われます。

関連するQ&A