Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我们两个都是;包括「;及;“视情况而定”;关于RcppArmadillo?_R_Rcpp - Fatal编程技术网

为什么我们两个都是;包括「;及;“视情况而定”;关于RcppArmadillo?

为什么我们两个都是;包括「;及;“视情况而定”;关于RcppArmadillo?,r,rcpp,R,Rcpp,要使用RcppArmadillo,我们通常会被指示在顶部有以下几行: #include <RcppArmadillo.h> // [[Rcpp::depends(RcppArmadillo)]] #包括 //[[Rcpp::depends(RcppArmadillo)]] 为什么我们两者都需要?#include指令是否足以让我们访问RcppArmadillo范围内定义的所有功能?有两个不同的因素在起作用: 编译器需要头文件RcppArmadillo.h,以便从(Rcpp)Arma

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

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

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

有两个不同的因素在起作用:

  • 编译器需要头文件
    RcppArmadillo.h
    ,以便从(Rcpp)Armadillo、Rcpp(因为这个文件也包含Rcpp.h)和R中了解类型。我想你知道你需要这个。但是

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

  • 在包级别,
    链接到:
    有助于标题的大小写。但在更深的意义上,有时我们需要头和链接(即RcppGSL),在这种情况下,我们在这里通过
    Rcpp::depends
    到Rcpp属性的钩子确保了我们可以做到这一点

    因此,
    /[[Rcpp::depends(RcppArmadillo)]
    有助于
    sourceCpp()
    的使用。包装中不需要它。像这样的“插件”在Rcpp属性小插曲中有一些讨论