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 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 multithreaded (for example, using the -mt
option to Oracle's cc
)
LispWorks User Guide and Reference Manual - 13 Feb 2015