library.dynam {base}R Documentation

Loading Shared Libraries

Description

Load the specified file of compiled code if it has not been loaded already, or unloads it.

Usage

library.dynam(chname, package = .packages(), lib.loc = NULL,
              verbose = getOption("verbose"),
              file.ext = .Platform$dynlib.ext, ...)
library.dynam.unload(chname, libpath,
              verbose = getOption("verbose"),
              file.ext = .Platform$dynlib.ext)
.dynLibs(new)

Arguments

chname a character string naming a shared library to load.
package a character vector with the names of packages to search through.
lib.loc a character vector describing the location of R library trees to search through, or NULL. The default value of NULL corresponds to all libraries currently known.
libpath the path to the loaded package whose shared library is to be unloaded.
verbose a logical value indicating whether an announcement is printed on the console before loading the shared library. The default value is taken from the verbose entry in the system options.
file.ext the extension to append to the file name to specify the library to be loaded. This defaults to the appropriate value for the operating system.
... additional arguments needed by some libraries that are passed to the call to dyn.load to control how the library is loaded.
new a character vector of packages which have loaded shared libraries.

Details

library.dynam is designed to be used inside a package rather than at the command line, and should really only be used inside .First.lib on .onLoad. The system-specific extension for shared libraries (e.g., ‘.so’ or ‘.sl’ on Unix systems) should not be added.

library.dynam.unload is designed for use in .Last.lib or .onUnload.

.dynLibs is used for getting or setting the packages that have loaded shared libraries (using library.dynam). Versions of R prior to 1.6.0 used an internal global variable .Dyn.libs for storing this information: this variable is now defunct.

Value

library.dynam returns a character vector with the names of packages which have used it in the current R session to load shared libraries. This vector is returned as invisible, unless the chname argument is missing.
library.dynam.unload returns the updated character vector, invisibly.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

.First.lib, library, dyn.load, .packages, .libPaths

SHLIB for how to create suitable shared libraries.

Examples

library.dynam() # which packages have been "dynamically loaded"

[Package Contents]