Next: load-foreign-library-error, Previous: *foreign-library-directories*, Up: Libraries [Contents][Index]
A library designator.
An instance of foreign-library
.
Load the library indicated by library-designator. A library designator is defined as follows:
define-foreign-library
.
*foreign-library-directories*
with
cl:probe-file
; if found, the absolute path is passed to the
implementation’s loader.
(first library)
:
:framework
The second list element is taken to be a Darwin framework name, which
is then searched in *darwin-framework-directories*
, and loaded
when found.
:or
Each remaining list element, itself a library designator, is loaded in order, until one succeeds.
:default
The name is transformed according to the platform’s naming convention to shared libraries, and the resultant string is loaded as a library designator. For example, on UNIX, the name is suffixed with .so.
If the library is already loaded it will be reloaded.
If the load fails, signal a load-foreign-library-error
.
Please note: For system libraries, you should not need to specify the directory containing the library. Each operating system has its own idea of a default search path, and you should rely on it when it is reasonable.
On ECL platforms where its dynamic FFI is not supported (ie. when
:dffi
is not present in *features*
),
cffi:load-foreign-library
does not work and you must use ECL’s
own ffi:load-foreign-library
with a constant string argument.
See Loading foreign libraries.
close-foreign-library
*darwin-framework-directories*
define-foreign-library
*foreign-library-directories*
load-foreign-library-error
use-foreign-library
Next: load-foreign-library-error, Previous: *foreign-library-directories*, Up: Libraries [Contents][Index]