library.dynam
位于 base
包(package)。 说明
如果尚未加载,则加载指定的已编译代码文件,否则将其卸载。
用法
library.dynam(chname, package, lib.loc,
verbose = getOption("verbose"),
file.ext = .Platform$dynlib.ext, ...)
library.dynam.unload(chname, libpath,
verbose = getOption("verbose"),
file.ext = .Platform$dynlib.ext)
.dynLibs(new)
参数
chname |
命名要加载的 DLL(也称为动态共享对象或库)的字符串。 |
package |
带有包名称的字符向量。 |
lib.loc |
说明位置的字符向量R可供搜索的 Library 树。 |
libpath |
要卸载其 DLL 的已加载包的路径。 |
verbose |
一个逻辑值,指示在加载 DLL 之前是否在控制台上打印公告。默认值取自系统 |
file.ext |
扩展名(包括‘.’(如果使用)附加到文件名以指定要加载的库。这默认为操作系统的适当值。 |
... |
某些库需要额外的参数,这些参数会传递给 |
new |
与包加载的 DLL 相对应的 |
细节
请参阅 dyn.load
了解这些函数处理的对象类型。
library.dynam
被设计为在包内使用而不是在命令行中使用,并且实际上应该只在包内使用.onLoad
。 DLL 的系统特定扩展(例如,‘。所以' 或者 '.sl’ 在类 Unix 系统上,‘.dll’ 在 Windows 上)不应添加。
library.dynam.unload
设计用于 .onUnload
:它卸载 DLL 并更新 .dynLibs()
的值
.dynLibs
用于获取(不带参数)或设置当前由包加载的 DLL(使用 library.dynam
)。
值
如果未指定chname
,则library.dynam
返回与包加载的DLL对应的类"DLLInfoList"
的对象。
如果指定chname
,则以不可见方式返回标识DLL 并可在将来的调用中使用的"DLLInfo"
类的对象。请注意,"DLLInfo"
类有一个 $
方法,可用于解析该 DLL 中的本机符号。
library.dynam.unload
无形地返回一个 "DLLInfo"
类的对象,标识 DLL 已成功卸载。
.dynLibs
返回与其当前值对应的"DLLInfoList"
类的对象。
警告
不要在 library.dynam
加载的 DLL 上使用 dyn.unload
:使用 library.dynam.unload
确保 .dynLibs
得到更新。否则,后续调用 library.dynam
将被告知该对象已加载。
请注意,是否可以卸载 DLL,然后重新加载同一文件的修订版本是 OS-dependent:请参阅 dyn.unload
帮助的“值”部分。
例子
## Which DLLs were dynamically loaded by packages?
library.dynam()
## More on library.dynam.unload() :
require(nlme)
nlme:::.onUnload # shows library.dynam.unload() call
detach("package:nlme") # by default, unload=FALSE , so,
tail(library.dynam(), 2)# nlme still there
## How to unload the DLL ?
## Best is to unload the namespace, unloadNamespace("nlme")
## If we need to do it separately which should be exceptional:
pd.file <- attr(packageDescription("nlme"), "file")
library.dynam.unload("nlme", libpath = sub("/Meta.*", '', pd.file))
tail(library.dynam(), 2)# 'nlme' is gone now
unloadNamespace("nlme") # now gives warning
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
getLoadedDLLs
有关 "DLLInfo"
和 "DLLInfoList"
对象的信息。
.onLoad
, library
, dyn.load
, .packages
, .libPaths
SHLIB
了解如何创建合适的 DLL。
相关用法
- R library 加载/附加和列出包
- R libPaths 包的搜索路径
- R libcurlVersion libcurl 的报告版本
- R list2DF 从列表创建 DataFrame
- R license R 许可条款
- R list.files 列出目录/文件夹中的文件
- R list 列表 – 通用和点对
- R list2env 从列表中构建或添加到环境
- R lapply 对列表或向量应用函数
- R levels 级别属性
- R ls 列出对象
- R lengths 列表或向量元素的长度
- R load 重新加载保存的数据集
- R lower.tri 矩阵的下三角部分和上三角部分
- R log 对数和指数
- R locales 查询或设置区域设置的各个方面
- R l10n_info 本地化信息
- R length 物体的长度
- R labels 从对象中查找标签
- R logical 逻辑向量
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R dump R 对象的文本表示
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Loading DLLs from Packages。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。