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
dlsym
.
The dynamic library is usually of file type
dll
on Windows,
dylib
on Macintosh and 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:
Link with
libpthread.so
Link with
libpthread.so
No special requirements
Compile and link multi-threaded (for example, using the
-mt
option to Oracle's
cc
)
LispWorks User Guide and Reference Manual - 21 Dec 2011