2.3. GNU Fortran Compiler


2.3.1. 安装 Fortran Compiler

在 Red Hat Developer Toolset 中,GNU Fortran 编译器由 devtoolset-11-gcc-gfortran 软件包提供,并自动安装 devtoolset-11-toolchain,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。

2.3.2. 使用 Fortran Compiler

要在命令行上编译 Fortran 程序,请运行 gfortran 编译器,如下所示:

$ scl enable devtoolset-11 'gfortran -o output_file source_file...'
Copy to Clipboard Toggle word wrap

这会在当前工作目录中创建一个名为 output_file 的二进制文件。如果省略了 -o 选项,则编译器默认创建名为 a.out 的文件。

当您处理由多个源文件组成的项目时,首先编译每个源文件的对象文件,然后将这些目标文件链接在一起。这样,当您更改单个源文件时,您只能编译此文件,而无需编译整个项目。在命令行中编译目标文件:

$ scl enable devtoolset-11 'gfortran -o object_file -c source_file'
Copy to Clipboard Toggle word wrap

这会创建一个名为 object_file 的对象文件。如果省略了 the -o 选项,编译器会创建一个名为 的文件,其源文件带有 .o 文件扩展名。将目标文件链接在一起并创建二进制文件:

$ scl enable devtoolset-11 'gfortran -o output_file object_file...'
Copy to Clipboard Toggle word wrap

请注意,您可以使用 scl 工具执行任何命令,从而导致它使用等效的 Red Hat Developer Toolset 二进制文件来运行它。这可让您默认使用 Red Hat Developer Toolset gfortran 运行 shell 会话:

$ scl enable devtoolset-11 'bash'
Copy to Clipboard Toggle word wrap
注意

验证您在任何时候正在使用的 gfortran 版本:

$ which gfortran
Copy to Clipboard Toggle word wrap

Red Hat Developer Toolset 的 gfortran 可执行路径以 /opt 开头。另外,您可以使用以下命令确认版本号与 Red Hat Developer Toolset gfortran 的版本号匹配:

$ gfortran -v
Copy to Clipboard Toggle word wrap

例 2.5. 在命令行中编译 Fortran 程序

考虑名为 hello.f 的源文件,其内容如下:

program hello
  print *, "Hello, World!"
end program hello
Copy to Clipboard Toggle word wrap

使用 Red Hat Developer Toolset 中的 gfortran 编译器在命令行中编译此源代码:

$ scl enable devtoolset-11 'gfortran -o hello hello.f'
Copy to Clipboard Toggle word wrap

这会在当前工作目录中创建一个名为 hello 的新二进制文件。

2.3.3. 运行 Fortran 程序

gfortran 编译程序时,它会创建一个可执行的二进制文件。要在命令行中运行程序,请切换到具有可执行文件的目录,并运行以下命令:

$ ./file_name
Copy to Clipboard Toggle word wrap

例 2.6. 在命令行中运行 Fortran 程序

假设您已成功编译了 hello 二进制文件,如 例 2.5 “在命令行中编译 Fortran 程序” 所示,您可以运行它:

$ ./hello
 Hello, World!
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat