You can use 32-bit LispWorks to build a dynamic library on Microsoft Windows, Intel Macintosh, Linux, x86/x64 Solaris and FreeBSD, and 64-bit LispWorks on Windows, Intel Macintosh, Linux and x86/x64 Solaris.
To do this, use save-image or deliver and supply a list value for dll-exports. On platforms other than Windows passing dll-added-files also creates a dynamic library.
The result is a library that cannot be executed on its own, but can be dynamically loaded by another process. On Windows this is done with the Windows APIs
LoadLibrary and then
GetProcAddress. On other platforms the dynamic library can be loaded by
dlopen and then
The dynamic library is usually of file type
dll on Windows,
dylib on Macintosh and
so on Linux, x86/x64 Solaris or FreeBSD. The first implementation of this functionality in LispWorks was on Microsoft Windows only, therefore the terminology that is used is sometimes Windows-like. In particular "DLL" refers to any dynamic library.
A program that loads a LispWorks dynamic library must be compiled and linked as follows:
Mac OS X
No special requirements
Compile and link multithreaded (for example, using the
-mt option to Oracle's
LispWorks User Guide and Reference Manual - 13 Feb 2015