platform specific dynamic library loading
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
#ifdef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#else
|
||||||
|
#include <dlfcn.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void *platform_load_library(const char *path)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
return (void *)LoadLibraryA(path);
|
||||||
|
#else
|
||||||
|
return dlopen(path, RTLD_NOW);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void platform_unload_library(void *handle)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
FreeLibrary((HMODULE)handle);
|
||||||
|
#else
|
||||||
|
dlclose(handle);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void *platform_get_symbol(void *handle, const char *symbol)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
return (void *)GetProcAddress((HMODULE)handle, symbol);
|
||||||
|
#else
|
||||||
|
return dlsym(handle, symbol);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user