22 lines
1003 B
Plaintext
22 lines
1003 B
Plaintext
|
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.
|
||
|
|
||
|
|