【发布时间】:2014-01-07 21:27:00
【问题描述】:
我正在尝试使用 Rcpp 定义一个函数来加速。情况如下:
- 我有一个包 FOO,其中包含很多 C++ 代码(我自己的包,目前不使用 Rcpp),其中定义了一组函数,例如foo_a 和 foo_b。
- 在另一个包 BAR(使用 Rcpp)中,我正在定义一个函数(使用 Rcpp 属性),我想在其中调用函数 foo_a 和 foo_b。
我该如何解决这个问题?在其他帖子中查看了一下,我发现我以某种方式在 FOO 中包含头文件并在 BAR 中使用属性// [[Rcpp::depends(FOO)]],但我似乎错过了一些要点。关于如何做的任何提示?
最好的拉尔斯
编辑:感谢我喜欢 Kevin Usheys 方法并尝试实施它的 cmets。但是,经过一些编码后,我意识到我实际上不需要 FOO 的函数,而是一个类及其公共函数。我想我不能做你建议上课的技巧。我最终将来自 FOO 的类的源文件放在 BAR src 目录中(这不是最好的方法,因为我现在有两个版本的相同代码)。然而,目前这个黑客对我有用。
【问题讨论】:
-
将它们放入包 FOO 的 inst/include 中(并在 src/Makevars 中设置 -I../inst/include;让包 BAR 使用 RcppDepends(FOO) -- 仅一份,两个包使用看看我写的关于 RcppXts 的文章。
-
谢谢德克。我将看看 RcppXts。我不认为上课也是可能的。