gpt4 book ai didi

r - 自定义包编译选项 R

转载 作者:行者123 更新时间:2023-12-02 01:05:59 24 4
gpt4 key购买 nike

我正在构建一个包含旧 f77 代码的包,绝对应该使用 o0 优化选项构建它。

在我的包的 /src/Makevars 中,我添加了这一行:

FFLAGS=-O0 -pipe  -g $(LTO)

但是当我编译我的包时,我看到 R 仍在使用/usr/lib/R/etc/Makeconf 文件中的默认编译选项:

gfortran   -fpic  -O3 -pipe  -g  -c Babar.f -o Babar.o

如何在 R 中覆盖我的包的 FORTRAN 文件的默认编译选项?

(我打算通过 CRAN 分发该包,因此应该从 Makevars 文件中设置编译选项)

最佳答案

这里有两到三件事:

  1. 正如您所注意到的,R 本身使用从 its configure 运行编码的选项,即内置时间。查看文件$RHOME/etc/Makeconf

  2. 您可以通过 src/Makevars 在每个包的基础上覆盖一些东西。这就是你可能想要的。请参阅 R 的 Makeconf 以获取变量列表,并设置例如 FFLAGS

  3. 您可以通过每个用户 ~/.R/Makevars 覆盖所有构建的内容。例如,我在该文件中为我的build设置了优化和警告级别。

有关详细信息,请参阅“编写 R 扩展”手册。

编辑: 还有 1.a) 您也可以编辑本地文件 $RHOME/etc/Makeconf.site。在 Debian/Ubuntu 上,我将目录 $RHOME/etc/ 软链接(soft link)到 /etc/R 中,这样也更容易。

关于r - 自定义包编译选项 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452826/

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