g77、gfortran、gcc的区别与联系
g77介绍:
- g77 是 Fortran77 的编译器。它对 Fortran 77 标准提供完备的支持,并支持 Fortran 90 和 95 的部分特性。
- 由于 Fortran 77 标准在数值计算中的影响力,g77 可能是应用最广的Fortran编译器。
- 在 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介绍:
- gfortran是Fortran 95 编译器,支持Fortran95和一部分Fortran2003的功能。
- gfortran是gcc-4.0及之后版本的一部分,而g77是gcc-4.0之前版本的一部分。
- 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
g77、gfortran、gcc的区别与联系相关推荐
- arm 各种 gcc 编译器区别
做嵌入式开发在以前经常需要下载交叉编译器,主要是因为那个时候的产品绝大多数位 arm架构的,而市面上基本上的 PC/服务器基本上 X86.即便现在 arm架构的笔记本和服务器慢慢推向市场,原由的那套嵌 ...
- ACM提交,C++,G++,C,GCC的区别
今天做了一道水题,POJ-1004,水题一个,12个double类型的数求平均数 但是, 1 #include <iostream> 2 #include <cstdio> 3 ...
- Linux中g++与gcc的区别
转自:https://blog.csdn.net/bit_clearoff/article/details/53965514 Windows中我们常用vs来编译编写好的C和C++代码:vs把编辑器,编 ...
- [转]G++与GCC的区别
转自http://www.52pojie.cn/thread-58109-1-1.html 误区一:gcc只能编译c代码,g++只能编译c++代码 两者都可以,但是请注意: 1.后缀为.c的,gcc把 ...
- Linux cc 和 gcc 的区别概括介绍
说自己很菜,果然很菜!在想我cc和gcc编译器有什么区别,不知道,咋办?搜索一下!果然让自己长进! 从名字上来看: cc : C Compiler //在老的Unix上 ...
- 【Linux】gcc/g++区别和联系
gcc/g++是什么 gcc/g++之间的区别和联系 gcc/g++是什么 讲到gcc/g++,那就得先说一下GCC,GCC:GNU Compiler Collection(GUN 编译器集合),它可 ...
- g++和gcc的区别
编译阶段是相同的,链接阶段g++默认链接c++库,gcc没有. 所以一般情况下用gcc编译c文件,用g++编译cpp文件. 但是也可以用gcc编译cpp文件,但后面需要加一个选项-lstdc++,作用 ...
- Clang与GCC的区别
1.Clang采用的license是BSD,而GCC是GPLv3:GCC支持许多语言扩展,其中有些Clang不能实现. 2. GCC:GNU(Gnu's Not Unix)编译器套装(GNU Comp ...
- 使用Environment Module设置运行环境
"Environment module"(环境模块)是一组环境变量设置的集合. module可以被加载(load).卸载(unload).切换(switch),这些操作会改变相应的 ...
最新文章
- Oracle XQuery 过滤XML查询SQL
- 《幸福资本论》读书笔记
- BERT论文阅读(一): Pre-training of Deep Bidirectional Transformers for Language Understanding
- CSS 选择器 :last-child与:last-of-type的区别
- android广播第三方库,Android Support 库:LocalBroadcastManager
- 妈妈再也不用担心孩子偷玩手机了!微信升级“青少年模式”
- Solaris 添加删除 用户和组
- Ubuntu下安装支付宝安全控件
- 推理集 —— death
- 成为高级程序员的 10 个步骤
- Python 持久存储
- React Native--移动端开发的救星
- 港科夜闻|香港科技大学(广州)(筹)校长倪明选教授在北京拜访国家教育部党组书记、部长怀进鹏...
- 大数据最核心的价值是什么?
- xp计算机无法关机,xp系统不能关机解决方法【图文教程】
- 远程桌面连接服务器时,键盘不能正常打字
- ransomware(假的勒索病毒)逆向分析
- ArcGIS构建缓冲区,合并两个重叠的面
- login登录页面 html,login.html
- php gd平涂,水彩画基本技法教学:平涂法