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::ModuleLoaderin 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