我需要在Linux中使用Fortran 77的编译器。
人们使用的是否有免费的编译器?
我听说过g77,但我找不到rpm或者如何在linux中安装它。
谢谢!
答案 0 :(得分:20)
GCC的Fortran编译器名称已更改:g77
已替换为gfortran
,它处理Fortran 95以及可能更新的变体。
Ubuntu中的包称为gfortran
:
sudo apt-get install gfortran
(或使用突触)
Fedora中的包被称为gfortran,是gcc的一部分,你可能已经拥有它了:
sudo yum install gcc
(或使用pirut)
类似的搜索也适用于您的发行版。
更新:在RedHat 4.1.2上,程序包似乎被称为gcc4-gfortran
。顺便说一句,你应该能够用yum搜索这个,这可能是你问题的最佳答案:
yum search "*fortran*"
答案 1 :(得分:3)
对于Amazon Linux:
sudo yum --enablerepo=epel install gcc-gfortran
答案 2 :(得分:2)
"夸克"在他的回答中写道,g77改名为gfortran。这是不正确的。
g77 ang gfortran是不同的编译器。 g77在GNU编译器集合(GCC)中被gfortran 替换,它不是重命名的 gfortran。gfortran是一个基于g95编译器的现代Fortran编译器。 g77是放弃软件。他们不共享代码库。二进制文件和库在g77和gfortran之间也不兼容,因为它们使用不同的ABI。
g77是相同的编译器,称为f2c(可以从Netlib下载),或者更确切地说是一个名为fc的shell脚本,它在输出中调用f2c然后cc。所有g77所做的就是跳过C作为一种中间语言,因为它在20世纪80年代和90年代初都有速度惩罚。 f2c和g77是由同一个人写的,否则是相同的。凭借现代CPU(长流水线和分支预测)和现代C编译器(更好的别名分析),g77优于原始f2c。另一方面,gfortran支持现代Fortran标准(Fortran 90,95,2003和2008)以及旧版Fortran 77和Fortran 66(又名FORTRAN IV),并且是对g77和f2c的明显改进。它还可以生成更快的代码并为我们提供更好的错误消息。
g77与f2c二进制兼容,但不与gfortran兼容。 gfortran可以通过-ff2c被迫承担g77 ABI。如果可能,应该避免使用此编译器选项,因为它会降低Fortran代码的性能。
答案 3 :(得分:1)
如果我记得很清楚,GNU没有FORTRAN编译器,而是FORTRAN预处理器(或者其名称)。它只是将您的代码转换为C并使用C编译器编译它。当然,性能在这个过程中变成了废话。
但是,如果您使用的是FORTRAN,我认为它是一种计算项目。如果它是免费的(不是学术性的而不是课程相关的),您可以免费获得英特尔FORTRAN编译器。根据我的经验,它比任何免费实现快3-4倍。
答案 4 :(得分:1)
答案 5 :(得分:1)
我做了以下步骤并且工作了!
修改您的/etc/apt/sources.list
在该文件中添加此文字(/etc/apt/sources.list
):
deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe
deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe
deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
保存文件
打开终端,输入:sudo apt-get install fort77
答案 6 :(得分:0)
安装软件的方法是特定于分发的。例如,在Ubuntu9中,我会启动Synaptic并搜索Fortran或g77(也可以使用apt-get)。
其他我不太了解的发行版虽然我听说过yum和yast(我想但我不确定)RedHat和Suse。
如果您的标准软件包安装程序无法使用,则必须找到其他解决方案,例如:
第二种方法听起来不祥,但实际上并非如此(除了确保您拥有正确的依赖关系)。大多数源程序包遵循的configure / make / install过程使得以交叉分发方式非常容易。
答案 7 :(得分:0)
您还可以使用Netbeans制作c& c ++项目,并使用新的.f90文件添加Fortran,并使用Netbeans工具进行运行和调试。 在此之前,您必须安装gcc和gfortran包。
答案 8 :(得分:0)
根据我的经验,Red Hat发行版(以及基于它的发行版)都包含gfortran,但是当你进行安装时它是一个选项,所以你的系统似乎很可能没有gfortran。如果你有安装媒体,我认为你应该能够从那里安装gfortran。
否则,为了获得适合您系统的gfortran RPM,我建议使用related rpmfind page。
一旦你安装了gfortran,我认为“-std = legacy”(引用我的)应该允许F77编译工作。