|
3.10 Dynamic loading
In addition to the concept of libraries, it is also possible to
dynamically extend the functionality by loading functions written
in C/C++ or some other higher programming language. A collection
of such functions is called a dynamic module and can be loaded by
the command LIB or load . It is basically handled in
the same way as a library: upon loading, a new package is
created which holds the contents of the dynamic module, but in contrast
to the case of a library, the name of the package is not derived
from the filename, but is hardcoded in the dynamic module. In particular,
general information about it can be displayed by the command
help package_name . After loading the dynamic module, its functions
can be used exactly like the built-in SINGULAR functions.
To have the full functionality of a built-in function, dynamic modules
need to comply with certain requirements on their internal structure.
As this would be beyond the scope of the Singular manual,
a separate, more detailed guide on how to write and use dynamic modules
can be found
at http://www.singular.uni-kl.de/DynMod.ps .
|