我需要一个 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
(或使用piru)
类似的搜索也应该适用于您的发行版。
更新: 在 RedHat 4.1.2 上,该软件包似乎被称为
gcc4-gfortran
。 顺便说一句,您应该能够使用 yum 搜索此内容,这可能是您问题的最佳答案:
yum search "*fortran*"
对于 Amazon Linux:
sudo yum --enablerepo=epel install gcc-gfortran
“夸克”在回答中写道,g77 更名为 gfortran。这是不正确的。
g77 和 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 77 和 Fortran 66(又名 FORTRAN IV)之外,还支持现代 Fortran 标准(Fortran 90、95、2003 和 2008),并且比 g77 和 f2c 有了明显的改进。它还可以生成更快的代码并为我们提供更好的错误消息。
g77 与 f2c 二进制兼容,但与 gfortran 不兼容。可以通过传递 -ff2c 强制 gfortran 采用 g77 ABI。如果可能,应避免此编译器选项,因为它会降低 Fortran 代码的性能。
有 http://www.g95.org/ 可用。
如果我没记错的话,GNU 没有 FORTRAN 编译器,而是有 FORTRAN 预处理器(或者无论它的名称是什么)。它只是将您的代码转换为 C 语言并使用 C 编译器进行编译。当然,在此过程中性能会变得很糟糕。
但是,如果您使用 FORTRAN,我认为这是一种计算项目。如果是免费的(非学术性且与课程无关),您可以免费获得英特尔 FORTRAN 编译器。根据我的经验,它比任何免费实现快 3-4 倍。
gcc-fortran
是 Fortran
的 openSUSE 11.x
编译器的包名称。
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 中,我会启动 Synaptic 并搜索 Fortran 或 g77(也可以使用 apt-get)。
我对其他发行版知之甚少,尽管我听说过(我想但我不确定)RedHat 和 Suse 的 yum 和 yast。
如果无法通过标准软件包安装程序使用它,则必须找到其他解决方案,例如:
第二种方法听起来不祥,但实际上并非如此(除了确保您拥有正确的依赖项之外)。大多数源代码包遵循的配置/制作/安装过程使得跨分发方式变得非常容易。
您还可以使用Netbeans并制作c&c++项目并使用新的.f90文件添加Fortran并使用Netbeans工具来运行和调试。 在此之前,您必须安装 gcc 和 gfortran 软件包。
根据我的经验,Red Hat 发行版(以及基于它的发行版)包含 gfortran,但在安装时它是一个选项,因此您的系统很可能是在没有 gfortran 的情况下设置的。 如果您有安装介质,我认为您应该能够从那里安装 gfortran。
否则,要为您的系统获取正确的 gfortran RPM,我建议您访问 相关 rpmfind 页面。
一旦安装了 gfortran,我认为“-std=legacy”(引用我的)应该允许 F77 编译工作。