C++コード動的ライブラリのロード

512 ワード

ダイナミックロードライブラリ
Win
HMODULE hmodule = LoadLibrary("my.dll");
Func fun = (Func)GetProcAddress(hmodule, "func");
FreeLibrary(hmodule);

linux(コンパイルパラメータ-rdynamic-ldl)
hmodule = dlopen("my.so", RTLD_LAZY);
Func fun = (Func)dlsym(hmodule, "func");
dlclose(handle);

mac
linux mac
hmodule = dlopen("my.dylib", RTLD_GLOBAL);
Func fun = (Func)dlsym(hmodule, "func");
dlclose(hmodule);