LOAD_RCPP_MODULE似乎不对

时间:2017-07-27 07:37:45

标签: c++ rcpp

LOAD_RCPP_MODULE在最新Rcpp中定义如下:

#define LOAD_RCPP_MODULE(NAME) \
Shield<SEXP> __load_module_call__( Rf_lang2( GET_MODULE_SYM, _rcpp_module_boot_##NAME() ); \
Rf_eval(__load_module_call__), R_GlobalEnv );
  

似乎是&#39;)&#39;调用Shield的构造函数和&#39;)&#39;在__load_module_call__之后删除Rf_eval。

也很好奇应该如何使用这个宏。只在RInside中找到一个例子

R["bling"] = LOAD_RCPP_MODULE(bling);

但显而易见的是,这行代码无法编译。它实际上已被注释掉了。

顺便说一句,我得到的解决方法是直接调用宏中的代码来加载模块。假设模块名称为&#34; Test&#34;,代码如下,R是RInside的实例。

Shield<SEXP> __load_module_call__( Rf_lang2( GET_MODULE_SYM, _rcpp_module_boot_Test() ) );
R["Test"] = Rf_eval(__load_module_call__, R_GlobalEnv );

0 个答案:

没有答案