我需要在Linux中使用Fortran 77的编译器。
有没有人使用的免费编译器?
我听说过G77,但我找不到rpm或如何在Linux中安装它。
谢谢!
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*"
对于Amazon Linux:
sudo yum --enablerepo=epel install gcc-gfortran
“夸克”在他的回答中写道,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代码的性能。
有http://www.g95.org/可用。
如果我记得好,GNU没有FORTRAN编译器,而是FORTRAN预处理器(或者其他的名称)。 它只是将你的代码翻译成C,并用C编译器编译它。 当然,表演在这个过程中变成废话。
但是,如果您使用FORTRAN,我认为这是一种计算项目。 如果是免费的(不是学术的,而不是课程相关的),你可以免费获得英特尔FORTRAN编译器。 根据我的经验,这个速度比任何免费实现快3-4倍。
gcc-fortran
是用于openSUSE 11.x
Fortran
编译器的软件包名称。
linux-y3pi: # zypper what-provides gcc-fortran Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+-------------+---------+---------+--------+------------------------ i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3-Oss i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3 11.3-1.82 v | gcc-fortran | package | 4.5-4.2 | i586 | openSUSE-11.3-Oss [1]+ Done yast2 linux-y3pi: #
我做了以下步骤,工作!
编辑你的/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
获取软件的方法是分发特定的。 例如,在Ubuntu9中,我会启动新立得,并搜索Fortran或g77(也可以使用apt-get)。
其他发行版本我知之甚少,虽然我听说过yum和yast(我想但不确定)RedHat和Suse。
如果您的标准软件包安装程序无法使用,则必须找到其他解决方案,例如:
第二种方法听起来不祥,但实际上并不(除确保你有正确的依赖关系外)。 大多数源代码包所遵循的配置/制作/安装过程使交叉分配方式非常容易。
一些RPM可以在这里找到。 GNU软件可以在这里找到,或者你可能想看看他们的镜子更快的网站。
您也可以使用Netbeans并创建c&c ++项目,并使用新的.f90文件添加Fortran,并使用Netbeans工具来运行和调试。 在此之前,您必须安装gcc和gfortran软件包。
根据我的经验,红帽发行版(以及基于它的发行版)已经包含了gfortran,但是当你安装的时候它是一个选项,所以看起来你的系统很可能没有gfortran。 如果你有安装媒体,我想你应该可以从那里安装gfortran。
否则,为了让你的系统得到正确的gfortran RPM,我建议使用相关的rpmfind页面 。
一旦你安装了gfortran,我认为“-std = legacy”(引用我的)应该允许F77编译工作。