dyn.load(libname) dyn.unload(libname) is.loaded(symbol) symbol.C(name) symbol.For(name)
libname
| a character string giving the pathname to a DLL. |
symbol
| a character string giving a symbol name. |
name
| a character string giving either the name of a C function or Fortran subroutine. Fortran names probably need to be given entirely in lower case (but this may be system-dependent). |
dyn.load
is used for its side effect which
links the specified shared library to the executing R image.
Calls to .C
, .Fortran
and .External
can
then be used to execute compiled C functions or Fortran subroutines
contained in the library.
The function dyn.unload
unlinks the shared library.
Functions symbol.C
and symbol.For
map function /
subroutine names to
the symbol name in the compiled code: is.loaded
checks if the
symbol name is loaded and so available for use in .C
....
dlopen
has become the standard
for doing this under UNIX.
Under UNIX dyn.load
uses the dlopen
mechanism and
should work on all platforms which support it. On Windows it uses
the standard mechanisms for loading 32-bit DLLs.
The original code for loading DLLs in UNIX was provided by Heiner Schwarte. The compatibility code for HP-UX was provided by Luke Tierney.
.C
, .Fortran
, .External
.is.loaded(symbol.For("hcass2")) #-> probably FALSE library(mva) is.loaded(symbol.For("hcass2")) #-> TRUE