mr4th-dynamic-linking/GUIDE.txt

22 lines
1003 B
Plaintext
Raw Normal View History

The main goal of this investigation is to organize shared data and code across
multiple binary files. This is especially important for something like a base
layer that will be used in a program that supports hot-reloading or plugins.
Each isolated example in this repository explores a way to set up the base
layer, plugin, and main program.
The examples:
*_concrete - Concrete examples for each operating system I have investigated
showing how to setup and use various types of dynamic linking. In
these the "base" layer goes through load-time linking, the
"plugin" layer goes through run-time linking, and the "main" layer
acts as the executable that must bind it all together.
xlist - My prefered solution to the problem posed in the investigation which
relies only on run-time linking. It uses an xlist to manage the
maintenance burden of run-time linking, and a basic outline of the
abstracted form of each layer.