When you're developing code, you almost always make use of a
library — a collection of code modules that
you or someone else has already developed (and hopefully
debugged). Under Neutrino, we have three different ways of
using libraries:
- Static linking
- You can combine your modules with the modules from the
library to form a single executable that's entirely
self-contained. We call this static linking. The
word "static" implies that it's not going to
change — all the required modules are already
combined into one executable.
- Dynamic linking
- Rather than build a self-contained executable ahead of time,
you can take your modules and link them in such a way that
the Process Manager will link them to the library modules
before your program runs. We call this dynamic linking.
The word "dynamic" here means
that the association between your program and the library
modules that it uses is done at load time, not at
link time (as was the case with the static version).
- Runtime loading
- There's a variation on the theme of dynamic linking called
runtime loading. In this case, the program
decides while it's actually running that it wishes
to load a particular function from a library.