我最近正在努力学习(辉煌的)Rcpp库。当我想导出一些我的C ++代码时,建议使用类似的东西:
// [[Rcpp::interfaces(r, cpp)]]
// [[Rcpp::export(name=".mrwr_cpp")]]
Eigen::VectorXd mrwr_(const Eigen::VectorXd& p0,
const Eigen::MatrixXd& W,
const double r)
{
// impl
}
在此示例中,// [[Rcpp::interfaces(r, cpp)]]
将创建一个名为my R package的头文件(假设该包名为diffusr
)。导出的标题(diffusr.h
)的内容如下所示:
// This file was generated by Rcpp::compileAttributes
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
#ifndef __diffusr_h__
#define __diffusr_h__
#include "diffusr_RcppExports.h"
#endif // __diffusr_h__
有没有办法自动更改标题包括保护?两个领先" _"可能导致未定义的行为,如果我是正确的,并保留给标准库(What are the rules about using an underscore in a C++ identifier?)
最佳, 西蒙
答案 0 :(得分:3)
简言之:
"你不会在Rcpp中的代码生成器中完成,所以你必须改变Rcpp
检查GitHub上与下一个版本对应的主分支(一周或两周)为this was recently changed