// Copyright (C) 2017 Alexander Koch #include "native.h" #if defined(_WIN32) #include void* dl_load(char* path) { return LoadLibraryExA(path, 0, 0); } void* dl_sym(void* lib, char* name) { return GetProcAddress((HMODULE)lib, name); } void dl_unload(void* lib) { FreeLibrary((HMODULE)lib); } #else /* void* dl_load(char* path) { return dlopen(path, RTLD_NOW | RTLD_LOCAL); } void* dl_sym(void* lib, char* name) { return dlsym(lib, name); } void dl_unload(void* lib) { dlclose(lib); } #endif */ #endif char* createSystemLibraryName(char* libName) { char buf[256]; int len = snprintf(buf, sizeof(buf), OS_SHARED_LIB_FORMAT_STR, libName); if(len >= (int) sizeof(buf)) { return 0; } else { return strdup(buf); } }