|
Module Dynlinkmodule Dynlink:
Dynamic loading of bytecode object files.
val init :
Initialize the library. Must be called before
loadfile .val loadfile :
Load the given bytecode object file and link it.
All toplevel expressions in the loaded compilation unit
are evaluated. No facilities are provided to
access value names defined by the unit. Therefore, the unit
must register itself its entry points with the main program,
e.g. by modifying tables of functions.
val loadfile_private :
Same as
loadfile , except that the module loaded is not
made available to other modules dynamically loaded afterwards.val add_interfaces : add_interfaces units path grants dynamically-linked object
files access to the compilation units named in list units .
The interfaces (.cmi files) for these units are searched in
path (a list of directory names). Initially, dynamically-linked
object files do not have access to any of the compilation
units composing the running program, not even the standard library.
add_interfaces or Dynlink.add_available_units (see below) must be
called to grant access to some of the units.val add_available_units :
Same as
Dynlink.add_interfaces , but instead of searching .cmi files
to find the unit interfaces, uses the interface digests given
for each unit. This way, the .cmi interface files need not be
available at run-time. The digests can be extracted from .cmi
files using the extract_crc program installed in the
Objective Caml standard library directory.val clear_available_units :
Clear the list of compilation units accessible to dynamically-linked programs.
val allow_unsafe_modules :
Govern whether unsafe object files are allowed to be
dynamically linked. A compilation unit is ``unsafe'' if it contains
declarations of external functions, which can break type safety.
By default, dynamic linking of unsafe object files is
not allowed.
type linking_error =
type error =
exception Error of
Errors in dynamic linking are reported by raising the
Error
exception with a description of the error.val error_message :
Convert an error description to a printable message.
|