2.3.2. 使用 Fortran Compiler

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

$ scl enable devtoolset-11 'gfortran -o output_file source_file...'

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

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

$ scl enable devtoolset-11 'gfortran -o object_file -c source_file'

这将创建一个名为 object_file 的对象文件。如果省略 -o 选项,编译器会创建一个名为 的文件,该文件名为 .o 文件扩展名。将对象文件链接到一起并创建二进制文件:

$ scl enable devtoolset-11 'gfortran -o output_file object_file...'

请注意,您可以使用 scl 程序执行任何命令,从而导致使用 Red Hat Developer Toolset 二进制文件运行它,而不是 Red Hat Enterprise Linux 系统等同的 Red Hat Enterprise Linux 系统。这可让您使用 Red Hat Developer Toolset gfortran 运行 shell 会话作为默认值:

$ scl enable devtoolset-11 'bash'
注意

验证您使用 gfortran 的版本:

$ which gfortran

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

$ gfortran -v

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

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

program hello
  print *, "Hello, World!"
end program hello

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

$ scl enable devtoolset-11 'gfortran -o hello hello.f'

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