2014-09-22 119 views
0

我有一个函数rcpp_hello_world()的cpp文件。我有一个R脚本(也在Rcpp包内)。我如何从R脚本调用rcpp_hello_world()函数?如何从包中的R脚本(RCpp)调用C++函数?

我已经浏览了Dirk的文档(http://dirk.eddelbuettel.com/code/rcpp/Rcpp-package.pdf),但是我没有看到关于从包中的R脚本调用cpp函数的一部分。

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

谢谢!

回答

1

在翻阅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') 
} 

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

+2

请至少浏览一下“Rcpp Attributes”小插曲,因为我们拥有**更好的**自动化方法。 – 2014-09-23 02:02:21