为什么R中没有很好地支持Fortran 90代码?

时间:2015-07-06 23:04:23

标签: r fortran rcpp

尽管Writing R Extensions手册提到了f90 / f95。它似乎得不到很好的支持,特别是它与C ++混合在一起。

https://stat.ethz.ch/pipermail/r-devel/2015-March/070851.html

但是如果我必须使用带有Rcpp的f90 / f95代码。目前有解决方案吗?感谢。

1 个答案:

答案 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所以我无法帮助它背后的推理。