我开始使用 Rcpp 框架将 C++ 函数与 R 集成。
以下集成工作正常:
cppFunction('
double normal_dens( double x )
{
const double SQRT2PI = 2.50662827463;
return( exp(-x*x/2.0)/SQRT2PI );
}
')
接下来我要整合:
cppFunction('
double test( double x ,double a)
{
return( a* normal_dens(x););
}
')
内部 cpp 编译器提示(正确地)函数 normal_dens 未知。最简单的方法是什么?
非常感谢
最佳答案
这些 cppFunction
调用中的每一个都会创建一个独立的共享库。他们彼此不认识。
一个简单的替代方法是将所有内容放在同一个文件中:
#include <Rcpp.h>
// [[Rcpp::export]]
double normal_dens( double x ) {
const double SQRT2PI = 2.50662827463;
return( exp(-x*x/2.0)/SQRT2PI );
}
// [[Rcpp::export]]
double test( double x ,double a){
return( a* normal_dens(x););
}
然后对该文件调用sourceCpp
。稍后,您将想要学习如何制作包。
关于c++ - C++ 函数相互调用时的 Rcpp 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568479/