如何从包(RCpp)中的R脚本调用C++函数

How to call a C++ function from R script inside a package (RCpp)?

本文关键字:脚本 调用 C++ 函数 中的 RCpp      更新时间:2023-10-16

我有一个cpp文件,函数为rcpp_hello_world()。我有一个R脚本(也在Rcpp包中)。如何从R脚本中调用rcpp_hello_world()函数?

我看过德克的文件(http://dirk.eddelbuettel.com/code/rcpp/Rcpp-package.pdf)但我看不到从包中的R脚本调用cpp函数的任何部分。

显然,这是一个简单的例子,在我将其应用于更大的项目之前,我正在学习如何与两者交互。

谢谢!

浏览后http://people.math.aau.dk/~sorenh/teaching/2014 Rcpp/misc/Rcpp-workshop.pdf我发现我以前看到过答案,但没有意识到(http://dirk.eddelbuettel.com/code/rcpp/Rcpp-package.pdf)。

要调用rcpp_hello_world,在test1.R文件中,在包测试中,以下是语法

test1 <- function(){
    .Call('test_rcpp_hello_world', PACKAGE = 'test')
} 

是适当的语法。此外,它还发现,所有函数(由Rcpp导出)的语法都可以在RcppExports.cpp中找到,它是在编译时自动生成的。