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")
那么,为什么此方法对 LDFLAGS
和 CXX_STD
等标志不起作用(返回空字符串)?它们是一种不同于 R_HOME
的变量吗?这些变量还有其他方法吗?
非常感谢,
亚历山德罗
好吧,我主要是在编写代码时而不是在 运行 期间需要它,所以我只是 grep 文件。
但通常您可以通过 R CMD CONFIG
:
在命令行中查询
$ R CMD config LDFLAGS
-Wl,-Bsymbolic-functions -Wl,-z,relro
$
R 使用编译和加载标志来编译 C 和 C++ 代码,我知道我可以使用 ~/.R 目录或包内的 Makevars 文件更改这些标志。
如何查询这些变量之一的值?从 R 内部,还是从命令行?例如,我想知道当我使用 R 函数 install.packages
时变量 LDFLAGS
的计算结果(忽略可能的包级 Makevars)。我该怎么做?
我发现可以在 Makevars 中使用的某些变量,例如 R_HOME
,可以通过以下方式查询:
Sys.getenv("R_HOME")
那么,为什么此方法对 LDFLAGS
和 CXX_STD
等标志不起作用(返回空字符串)?它们是一种不同于 R_HOME
的变量吗?这些变量还有其他方法吗?
非常感谢, 亚历山德罗
好吧,我主要是在编写代码时而不是在 运行 期间需要它,所以我只是 grep 文件。
但通常您可以通过 R CMD CONFIG
:
$ R CMD config LDFLAGS
-Wl,-Bsymbolic-functions -Wl,-z,relro
$