/libloading

A dynamic library loading library.

Primary LanguageDBoost Software License 1.0BSL-1.0

libloading

A system dynamic library loading primitive, fully inspired by rust_libloading. However, this library doesn't prevent dangling-Symbols that may occur after a Library is unloaded.

Using this library allows loading dynamic libraries as well as use functions and static variables these libraries contain.

Example

alias ceilFunc = double function(double);

// Load a shared library.
auto lib = loadLibrary(DYNAMIC_LIBRARY_NAME);

// Get a function pointer by symbol name.
auto ceil = lib.getSymbol!(ceilFunc)("ceil");
assert(ceil(0.45) == 1);

lib.unload();