Dynamically loads shared objects at runtime
Currently only verified on Ubuntu16.04 and G++ 5.4
- Build the library
make
- Build and run the test program
make test
Shared objects (so) permit linking at runtime which provides
- Loose coupling between the libraries and the executable
- Improved compilation time with modular builds
- Smaller executables via library selection at runtime
Check the test/
and makefile
for an example on how to:
- write and generate shared objects
- use
sil::ModuleLoader
in your code
Notice the use of the Pimple pattern in include/sil/module_loader.hpp
to hide implementation details and eliminate include chaining.
I appreciate any feedback and helpful hints on how to improve.
Pull requests are welcome