尽管Writing R Extensions手册提到了f90 / f95。它似乎得不到很好的支持,特别是它与C ++混合在一起。
https://stat.ethz.ch/pipermail/r-devel/2015-March/070851.html
但是如果我必须使用带有Rcpp的f90 / f95代码。目前有解决方案吗?感谢。
答案 0 :(得分:4)
(我想我只是回答rather similar question on rcpp-devel。)
引用Writing R Extensions, Section 1.1.5,我在下面使用粗体字:
编译代码的源代码和头文件是src,plus 可选的文件Makevars或Makefile。安装包时 使用R CMD INSTALL,make用于控制编译和链接 进入一个共享对象加载到R.有默认的make 变量和规则(在配置R时确定) 记录在R_HOME / etcR_ARCH / Makeconf中,提供对C,C ++的支持, FORTRAN 77,Fortran 9x15,Objective C和Objective C ++ 16 with 相关扩展名.c,.cc或.cpp,.f,.f90或.f95,.m和.mm, 分别。我们建议使用.h作为标题,也适用于C ++ 17或 Fortran 9x包含文件。 (不再使用扩展名.C for C ++ 支持。)不应隐藏src目录中的文件(启动 带点),隐藏文件将在某些版本的R下 忽略。
混合所有这些都不是便携式的(根本不可能) 单个包中的语言,我们不支持同时使用C ++ 和Fortran 9x 。因为R本身使用它,我们知道C和FORTRAN 77可以一起使用,混合C和C ++似乎是广泛的 成功的。
你必须问R Core他们为什么选择取缔这个。通常,这意味着一些技术原因。我不使用Fortran所以我无法帮助它背后的推理。