Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Fortran 90代码在R中得不到很好的支持?_R_Fortran_Rcpp - Fatal编程技术网

为什么Fortran 90代码在R中得不到很好的支持?

为什么Fortran 90代码在R中得不到很好的支持?,r,fortran,rcpp,R,Fortran,Rcpp,尽管编写R扩展手册提到了f90/f95。它似乎没有得到很好的支持,尤其是它与C++的混合。 但是如果我必须在Rcpp中使用f90/f95代码。目前是否有漫游服务?谢谢。(我想我只是回答我的问题。) 下面我用粗体字引用: 编译代码的源代码和头文件在src中,加上 (可选)文件Makevars或Makefile。安装软件包时 使用R CMD INSTALL,make用于控制编译和链接 加载到共享对象中以加载到R中。有默认的make 变量和规则(在配置R和 记录在RHOME/ETCRARCHAR/M

尽管编写R扩展手册提到了f90/f95。它似乎没有得到很好的支持,尤其是它与C++的混合。

但是如果我必须在Rcpp中使用f90/f95代码。目前是否有漫游服务?谢谢。

(我想我只是回答我的问题。)

下面我用粗体字引用:

编译代码的源代码和头文件在src中,加上 (可选)文件Makevars或Makefile。安装软件包时 使用R CMD INSTALL,make用于控制编译和链接 加载到共享对象中以加载到R中。有默认的make 变量和规则(在配置R和 记录在RHOME/ETCRARCHAR/MAKECOF中,为C,C++提供支持 FORTRAN 77、FORTRAN 9x15、Objective C和Objective C++16 相关扩展名.c、.cc或.cpp、.f、.f90或.f95、.m和.mm, 分别地我们建议使用.h作为标题,也适用于C++17或更高版本 Fortran 9x包含文件。(C++的扩展C不再使用) 不应隐藏src目录中的文件(开始 带有一个点),并且隐藏的文件将在某些版本的R下显示 忽略

将所有这些混合在一起是不便于携带的(也可能根本不可能) 语言在单个包中,<强>和我们不支持同时使用C++ 和Fortran 9x。因为R本身使用它,我们知道C和FORTRAN 77可以一起使用,C和C++混合似乎很广泛 成功


你必须问R Core他们为什么选择取缔这个。通常,这意味着某种技术原因。我不使用FORTRAN,所以我无法帮助它背后的推理。

发现该职位的地方——R DeVeleMayList-----将是询问这个问题的最佳地点。因此,如果您必须使用F90/F95代码,您是否需要将其与C++混合?您试图编写的具体代码是什么?这不是一个很具体的问题,很容易回答。你试过了吗?我没有问题。走走什么,你的问题表明你还没有开始”-自由源代码形式的Fortran 9x不可移植。“->似乎他们不知道现代Fortran及其可移植性特征。对于R中的
.Fortran
函数,你必须调用一个看起来像Fortran 77子例程的Fortran子例程:不隐藏在模块中,没有可分配的数组,只有F77类型(
real
character
integer
;但是
double
也可以工作)。除此之外,你可以编写你想要的代码;混合C语言,使用Fortran2003功能等。