Buckets:
| dl_handle * dl_load_library(const fs::path & path) { | |
| // suppress error dialogs for missing DLLs | |
| DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); | |
| SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); | |
| HMODULE handle = LoadLibraryW(path.wstring().c_str()); | |
| SetErrorMode(old_mode); | |
| return handle; | |
| } | |
| void * dl_get_sym(dl_handle * handle, const char * name) { | |
| DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); | |
| SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); | |
| void * p = (void *) GetProcAddress(handle, name); | |
| SetErrorMode(old_mode); | |
| return p; | |
| } | |
| const char * dl_error() { | |
| return ""; | |
| } | |
| dl_handle * dl_load_library(const fs::path & path) { | |
| dl_handle * handle = dlopen(path.string().c_str(), RTLD_NOW | RTLD_LOCAL); | |
| return handle; | |
| } | |
| void * dl_get_sym(dl_handle * handle, const char * name) { | |
| return dlsym(handle, name); | |
| } | |
| const char * dl_error() { | |
| const char *rslt = dlerror(); | |
| return rslt != nullptr ? rslt : ""; | |
| } | |
Xet Storage Details
- Size:
- 1.05 kB
- Xet hash:
- 059a69a65db10896d17640c61fee63ca13b0398ab18ecfb9e57e24895eb4dbc8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.