发布于 2016-03-31 00:09:05
只要读一读“写R扩展”,然后跟随引线--它要么是.onAttach(),要么是.onLoad()。我有很多包在那里做一些小事情--这与调用C++ (不管是否通过Rcpp )无关,因为您只是想知道在哪里初始化。
.pkgenv <- new.env(parent=emptyenv())
.onAttach <- function(libname, pkgname) {
if (getOption("blpAutoConnect", FALSE)) {
con <- blpConnect()
if (getOption("blpVerbose", FALSE)) {
packageStartupMessage(paste0("Created and stored default connection object ",
"for Rblpapi version ",
packageDescription("Rblpapi")$Version, "."))
}
} else {
con <- NULL
}
assign("con", con, envir=.pkgenv)
}我有一些(不是公共的)代码,它们以同样的方式为私有数据库设置句柄(使用C++代码)。关键是这些钩子保证您在包加载/附加时执行,这正是您在这里想要的。
https://stackoverflow.com/questions/36321864
复制相似问题