TITLE(dyn.load @@ Foreign Function Interface)
USAGE(
dyn.load(libname)
BLANK
is.loaded(symbol)
symbol.C(name)
symbol.For(name)
)
ALIAS(dyn.load)
ALIAS(is.loaded)
ALIAS(symbol.C)
ALIAS(symbol.For)
ARGUMENTS(
ARG(libname @@ a character string giving the pathname to a DLL.)
ARG(symbol @@ a character string giving a symbol name.)
ARG(name @@ a character string giving either the name of a C
function or Fortran subroutine.)
)
VALUE(
The function LANG(dyn.load) is used for its side effect which
links the specified shared library to the executing R image.
Calls to LANG(.C) and LANG(.Fortran) can then be used to execute
C functions or Fortran subroutines contained in the library.
)
NOTE(
The creation of shared libraries the runtime linking of them
into executing programs is very platform dependent.
In recent years there has been some simplification in the process
because the C subroutine call LANG(dlopen) has become the standard
for doing this under Unix.
LANG(dyn.load) uses the LANG(dlopen) mechanism and
should work on all platforms which support it.
PARA
The original code for loading DLLs in UNIX
was provided by Heiner Schwarte.
The compatibility code for HP-UX was provided by Luke Tierney.
)
SEEALSO(
LANG(LINK(.C)), LANG(LINK(.Fortran)).
)
EXAMPLES(
is.loaded(symbol.For("hcass2")) #-> probably  FALSE
library(mva)
is.loaded(symbol.For("hcass2")) #-> TRUE 
)
