R 包:构建时添加到 RcppExports.R 的下划线

R package: underscores added to RcppExports.R when building

我在不同的计算机上使用 Rstudio 在同一个 R 包上工作,但出于某种原因,每当我构建包时,一些计算机会通过添加来修改 RcppExports.RRcppExports.cpp 文件一些功能前面的下划线。例如,在查看编译包前后文件之间的差异时可以发现这一点(第一行是之前,第二行是之后):

    .Call('PkgName_FunctionName', PACKAGE = 'PkgName', arguments)
    .Call('_PkgName_FunctionName', PACKAGE = 'PkgName', arguments)

这让我很困扰,因为 git 认为这是一个变化。

我的问题是:

确保两台机器上的 Rcpp 版本相同(当前)。那么 RcppExports.{R,cpp} 个文件将是相同的。

更改是 R 上游(大约 R 3.4.0)的要求,我们需要进行调整。

另请注意,您可能希望在 NAMESPACE 文件中添加 registration=TRUE,在这种情况下,表单将变为

.Call(`_PkgName_FunctionName`, arguments)