我X在R中有一个包.该包有一个功能foo().我想foo()在cpp文件中调用该函数(使用Rcpp).可能吗?
#include <Rcpp.h>
void function01() {
// call foo() from package X ??
}
Run Code Online (Sandbox Code Playgroud)
这有点重复.但是,大多数情况不涉及从用户定义的包调用.
因此,使用的模具是:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
void function01(){
// Obtain environment containing function
Rcpp::Environment package_env("package:package_name_here");
// Make function callable from C++
Rcpp::Function rfunction = package_env["function_name"];
// Call the function and receive output (might not be list)
Rcpp::List test_out = rfunction(....);
}
Run Code Online (Sandbox Code Playgroud)