g77介绍:

  1. g77 是 Fortran77 的编译器。它对 Fortran 77 标准提供完备的支持,并支持 Fortran 90 和 95 的部分特性。
  2. 由于 Fortran 77 标准在数值计算中的影响力,g77 可能是应用最广的Fortran编译器。
  3. 在 gcc-4.0 之前,g77 是gcc的一部分,但是目前已停止更新和维护。这主要是由于gcc-4.0及其之后的版本更改了原先gcc版本中的所有语言的前端界面,而g77由于没有被维护者更新到gcc-4.0架构,所以不再是gcc-4.0之后版本的一部分。从ubuntu8.10之后,其软件库中就不含g77软件包了。ubuntu8.10之后版本可通过如下方式安装g77:
    sudo vim /etc/apt/sources.list
    #在文档底端添加如下几行:
    deb [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy universe
    deb-src [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy universe
    deb [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
    deb-src [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
    #保存文档并安装g77
    sudo apt update
    sudo apt-get install g77

gfortran和g95介绍:

  1. gfortran是Fortran 95 编译器,支持Fortran95和一部分Fortran2003的功能。
  2. gfortran是gcc-4.0及之后版本的一部分,而g77是gcc-4.0之前版本的一部分。
  3. g95是一个基于gcc的Fortran编译器,它不是gcc的一部分。

如何判断源文件是用g77还是gfortran编译的:

nm filename | grep _g77_
nm filename | grep _gfortran_

例如如果用g77编译后的文件为 test.out
运行nm test.out | grep '_g77'
结果为08049a6c d __g77_cilist_0.0
如果用gfortran编译后的文件为 test.out
运行nm test.out | grep '_gfortran'
结果为U _gfortran_set_args@@GFORTRAN_1.0
         U _gfortran_set_options@@GFORTRAN_1.0
         U _gfortran_st_write@@GFORTRAN_1.0
         U _gfortran_st_write_done@@GFORTRAN_1.0
         U _gfortran_store_exe_path@@GFORTRAN_1.0
         U _gfortran_transfer_real@@GFORTRAN_1.0

gcc、g++、gfortran编译器的版本切换 :

若ubuntu18.04的/usr/bin/目录下存在gcc-5和gcc-7两个版本,则可通过更改两个版本的优先级来更改编译时所优先调用的编译器,如下:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100

其中gcc-5的优先级为40,gcc-7的优先级为100,优先级大的先被调用。

用sudo update-alternatives --config gcc来配置默认的gcc

参考:g77和gfortran区别_yujiflying的专栏-CSDN博客_gfortran和fortran区别在ubuntu网站上看到的,做个记录Gcc Fortran Intro在 GCC 4.0 之前,g77 是 GCC 的一部分;此后,gfortran 是 GCC 的一部分。g95 是一个基于 GCC 的 Fortran 编译器,它不是 GCC 的一部分。[编辑]g77介绍g77 是 Fortran77 的编译器。它对 Forthttps://blog.csdn.net/yujiflying/article/details/7198800?locationNum=11&fps=1 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐