gpt4 book ai didi

r - 为什么我们在 RcppArmadillo 上同时使用 "include"和 "depends"?

转载 作者:行者123 更新时间:2023-12-04 10:30:13 25 4
gpt4 key购买 nike

要使用 RcppArmadillo,我们通常会被指示在顶部添加以下行:

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

为什么我们需要两者? #include 指令是否足以让我们访问 RcppArmadillo 范围内定义的所有函数?

最佳答案

有两种不同的东西在起作用:

  1. 编译器需要 header RcppArmadillo.h 才能了解 (Rcpp)Armadillo、Rcpp(因为这个也拉入 Rcpp.h)和 R 的类型。我想你知道你需要这个。但是……

  2. R 如何知道为此添加所需的 -I... 标志?不会的!

包级别 LinkingTo: 有助于 header 大小写。但在更深层次的意义上,有时我们需要标题 链接(即 RcppGSL),在这种情况下,我们在这里通过 Rcpp::depends 进入 Rcpp 属性的钩子(Hook)确保我们可以做这个。

所以 //[[Rcpp::depends(RcppArmadillo)]] 有助于 sourceCpp() 使用。包中不需要它。像这样的“插件”在 Rcpp 属性小插图中进行了一些讨论。

关于r - 为什么我们在 RcppArmadillo 上同时使用 "include"和 "depends"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com