R:检查编译和加载标志的值

R: check value of compile and load flags

R 使用编译和加载标志来编译 C 和 C++ 代码,我知道我可以使用 ~/.R 目录或包内的 Makevars 文件更改这些标志。 如何查询这些变量之一的值?从 R 内部,还是从命令行?例如,我想知道当我使用 R 函数 install.packages 时变量 LDFLAGS 的计算结果(忽略可能的包级 Makevars)。我该怎么做?

我发现可以在 Makevars 中使用的某些变量,例如 R_HOME,可以通过以下方式查询:

Sys.getenv("R_HOME")

那么,为什么此方法对 LDFLAGSCXX_STD 等标志不起作用(返回空字符串)?它们是一种不同于 R_HOME 的变量吗?这些变量还有其他方法吗?

非常感谢, 亚历山德罗

好吧,我主要是在编写代码时而不是在 运行 期间需要它,所以我只是 grep 文件。

但通常您可以通过 R CMD CONFIG:

在命令行中查询
$ R CMD config LDFLAGS
-Wl,-Bsymbolic-functions -Wl,-z,relro
$