All Manuals > LispWorks User Guide and Reference Manual > 14 LispWorks as a dynamic library


14.1 Introduction

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


Link with

Mac OS X

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