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]