如何更改标头包括Rcpp接口中的保护?

时间:2016-09-02 11:21:40

标签: r rcpp

我最近正在努力学习(辉煌的)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?

最佳, 西蒙

1 个答案:

答案 0 :(得分:3)

简言之:

  • "你不会在Rcpp中的代码生成器中完成,所以你必须改变Rcpp

  • 检查GitHub上与下一个版本对应的主分支(一周或两周)为this was recently changed