mydll.c
__declspec(dllexport) void foo(); #include <stdio.h> void foo() { puts("foo()"); }
暗黙的リンク
インポートライブラリ「mydll.lib」*1をリンクする。
関数の場合「__declspec(dllimport)」は必須でないみたい。
__declspec(dllimport) void foo(); int main() { foo(); }
明示的リンク
LPFNDLLFUNC1ってどこで定義されているんだろう…
#include <windows.h> #include <tchar.h> int main() { HMODULE h; void (*f)(void); h = LoadLibrary(_T("mydll.dll")); f = (void (*)(void)) GetProcAddress(h, "foo"); f(); FreeLibrary(h); }
*1:dllビルド時に作成される