Foreign modules may be linked to Prolog in three ways. Using
static linking, the extensions, a small description file and
the basic SWI-Prolog object file are linked together to form a new
executable. Using dynamic linking, the extensions are linked to
a shared library (.so
file on most Unix systems) or
dynamic-link library (.DLL
file on Microsoft platforms) and
loaded into the the running Prolog process. (26).