Once an interface has been created, the object code defining those functions (and indeed any variables) must be made available to LispWorks.
In Unix, LispWorks defines the function link-load:read-foreign-modules
that either load object files (usually suffixed with " .o
") directly into the Lisp image, extract any required object files from the available archive libraries (usually suffixed with " .a
"), or load in shared libraries (usually suffixed with " .so
"). The read-foreign-modules
function takes a list of module names as its argument.
In Windows the function register-module is the LispWorks interface to Dynamic Link Load (DLL) files. It is used to specify which DLLs are looked up when searching for foreign symbols. For example,
(fli:register-module "MYDLL")
registers a connection to the DLL " MYDLL.DLL
".