13

我需要一个用于 Linux 中 Fortran 77 的编译器。

有没有人们使用的免费编译器?

我听说过 g77,但我找不到 rpm 或如何在 linux 中安装它。

谢谢!

4

9 回答 9

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*"
于 2009-07-24T06:08:17.827 回答
3

对于亚马逊 Linux:

 sudo yum --enablerepo=epel install gcc-gfortran
于 2014-02-12T07:29:29.257 回答
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 作为一种中间语言,因为它在 1980 年代和 1990 年代初期会带来速度损失。f2c 和 g77 是由同一个人编写的,其他方面相同。凭借现代 CPU(长管道和分支预测)和现代 C 编译器(更好的别名分析),g77 与原始 f2c 相比没有任何优势。另一方面,gfortran 支持现代 Fortran 标准(Fortran 90、95、2003 和 2008)以及旧的 Fortran 77 和 Fortran 66(又名 FORTRAN IV),并且是对 g77 和 f2c 的明显改进。它还可以生成更快的代码并为我们提供更好的错误消息。

g77 与 f2c 二进制兼容,但与 gfortran 不兼容。通过传递 -ff2c 可以强制 gfortran 采用 g77 ABI。如果可能,应避免使用此编译器选项,因为它会降低 Fortran 代码的性能。

于 2014-12-19T15:26:26.167 回答
1

http://www.g95.org/可用。

如果我记得很清楚,GNU 没有 FORTRAN 编译器,而是一个 FORTRAN 预处理器(或任何名称)。它只是将您的代码转换为 C 并使用 C 编译器对其进行编译。当然,性能在这个过程中变得很糟糕。

但是,如果您使用的是 FORTRAN,我认为它是一种计算项目。如果它是免费的(不是学术和课程相关的),您可以免费获得英特尔 FORTRAN 编译器。根据我的经验,它比任何免费实现快 3-4 倍。

于 2009-07-24T06:11:58.303 回答
1

gcc-fortranFortran编译器的包名称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: # 

http://gcc.gnu.org/fortran/

于 2012-07-14T07:09:39.670 回答
1

我做了以下步骤并且工作了!

  1. 编辑您的/etc/apt/sources.list

  2. 在该文件中添加此文本 ( /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
    
  3. 保存存档

  4. 打开终端,输入:sudo apt-get install fort77

于 2013-04-16T15:51:45.827 回答
0

安装软件的方法是特定于发行版的。例如,在 Ubuntu9 中,我会启动 Synaptic 并搜索 Fortran 或 g77(也可以使用 apt-get)。

我对其他发行版知之甚少,尽管我听说过(我认为但我不确定)RedHat 和 Suse 的 yum 和 yast。

如果您的标准软件包安装程序无法使用它,您将不得不寻找另一种解决方案,例如:

  • 使用不同的 Fortran;或者
  • 从源头构建它。

第二种方法听起来不祥,但实际上并非如此(除了确保您拥有正确的依赖关系)。大多数源代码包遵循的配置/制作/安装过程使得以交叉分发的方式进行非常容易。

可以在此处找到一些 RPM 。GNU 软件可在此处获得,或者您可能想查看他们的镜像以获得更快的站点。

于 2009-07-24T05:54:40.397 回答
0

您还可以使用 Netbeans 并制作 c&c++ 项目并使用新的 .f90 文件添加 Fortran 并使用 Netbeans 工具运行和调试。在此之前,您必须安装 gcc 和 gfortran 软件包。

于 2009-07-25T13:47:42.497 回答
0

根据我的经验,Red Hat 发行版(以及基于它的发行版)包含 gfortran,但在您进行安装时它是一个选项,因此您的系统似乎很可能是在没有 gfortran 的情况下设置的。如果你有安装媒体,我想你应该可以从那里安装 gfortran。

否则,要为您的系统获得正确的 gfortran RPM,我建议使用相关的 rpmfind page

一旦你安装了 gfortran,我认为“-std=legacy”(引用我的)应该允许 F77 编译工作。

于 2009-07-25T14:10:07.180 回答