linux 为什么要安装gcc和gcc-c++(又叫做g++)
gcc-c++(又叫做g++)是为gcc提供c++语言特性支持的
linux上的gcc是Gnu的C语言编译器,至于C++编译器,它的名字叫做g++。

linux中的gcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件。

GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C等语言。

gcc是GCC中的GUN C Compiler(C 编译器)

g++是GCC中的GUN C++ Compiler(C++编译器)

以CentOS为例,安装后是没有C语言和C++编译环境的,需要手动安装,最简单的是用yum的方式安装,过程如下:

1、安装gcc

yum install gcc
询问是否,按y键回车即可,或者

yum -y install gcc
不用确定全部就安装好了。

2、安装g++

yum install gcc-c++
或者
yum -y install gcc-c++
安装完毕。

只在CenOS 7.2下测试正常

(g++就是c++的使用)

在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面介绍gcc所遵循的部分约定规则。

.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件

GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。

GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。

GCC功能与作用:

1、预处理

命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

2、编译

用GCC编译C/C++代码时,它会试着用最少的时间完成编译并且编译后的代码易于调试。易于调试意味着编译后的代码与源代码有同样的执行顺序,编译后的代码没有经过优化。

3、连接

当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

4、汇编

汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。

gcc所遵循的部分约定规则:

1、.c为后缀的文件,C语言源代码文件。

2、.a为后缀的文件,是由目标文件构成的档案库文件。

3、.h为后缀的文件,是程序所包含的头文件。

4、.i 为后缀的文件,是C源代码文件且不应该对其执行预处理。

5、.m为后缀的文件,是Objective-C源代码文件。

6、.o为后缀的文件,是编译后的目标文件。

7、.s为后缀的文件,是汇编语言源代码文件。

linux 为什么要安装gcc和gcc-c++(又叫做g++)相关推荐

  1. Linux中如何安装特定的gcc版本

    Linux允许多个版本的gcc共存,当你需要安装多个版本的gcc的时候,比如同时安装gcc-7和gcc-8,你可以通过 update-alternatives 来重定位你想使用的gcc版本. sudo ...

  2. 看inux系统中的c语言编译器,Linux系统自定义安装C语言gcc编译器图文详细教程

    有些Linux系统自带gcc编译器,有些则不带,比如CentOS版本的系统就没有gcc,我们在安装一些C语言开发的软件时,就没有办法进行编译,那就需要我们手动进行安装gcc,手动安装较麻烦,依赖了一些 ...

  3. linux gcc 安装目录,Linux安装其他版本GCC的方法

    前言 有时候,在Linux中需要安装固定版本的GCC,才能满足工作要求.例如:在Fedora22中,编译OpenCV的cuda部分需要GCC 4.9.X及以下的版本,而Fedora22的GCC是在5. ...

  4. linux使用交叉工具链产生的程序怎么下载到mini2440里,Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...

    一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...

  5. linux检查是否安装proc编译器,编译安装 GCC 4.9并验证使用

    编译安装 GCC 4.9并验证使用 1. 准备环境(GCC 编译器) CentOS 6.3 cat /proc/version Linux version 2.6.32-279.el6.x86_64 ...

  6. linux下安装或升级GCC 4.8以上版本(包括),以支持C++11

    本文转载自:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C ...

  7. linux下编译安装gcc,Linux编译安装GCC 5.1.0

    Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是GCC了.2015年4月下旬GCC也出到了5.1.0版本,对于C++11/14也有了更好的支持了.因为最近在学习O ...

  8. linux中可以安装不同版本的gcc么,在linux下安装多个版本的GCC

    文章链接:http://blog.csdn.net/chid/article/details/6251781 很是有用,转载学习 1.查看当前linux版本 内核版本:cat /proc/versio ...

  9. 【linux】RedHat 安装 gcc、g++

    环境介绍 系统版本:RedHat 7.6 cat /etc/redhat-release # Red Hat Enterprise Linux Server release 7.6 (Maipo) 安 ...

最新文章

  1. PHP实现MVC开发: 一个简单的MVC(转)
  2. J0ker的CISSP之路:复习Access Control(10)
  3. android ListView详解
  4. 一款很好用的JQuery dtree树状图插件(一)
  5. 面向对象—的__new__()方法详解
  6. 如何在摆摊经济中脱颖而出
  7. 服务器升级中暂不可修改怎么回事,抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?...
  8. mysql时间相减得到天数保留两位_【敲黑板!】分布式事务数据库 —-MySQL 数据库开发规范(第四节)...
  9. Navicat 11破解版
  10. Java设计模式透析之 —— 组合(Composite)
  11. node.js上传图片
  12. php pdo 中dsn参数,PDO连接数据库及DSN详解
  13. 计算机视频追踪方向,基于深度学习的目标视频跟踪算法综述
  14. 哪些浏览器支持html5?
  15. 推荐几个好用的网盘搜索引擎
  16. matlab solve函数错误【检查对函数 ‘solve‘ 的调用中是否缺失参数或参数数据类型不正确】
  17. 接口测试自动化的思考与总结
  18. 怎么用计算机算npv,CFA考试使用的计算器的用法
  19. 化学计量学中一些重要的概念
  20. 国家互联网信息办公室:发布关于《区块链信息服务管理规定(征求意见稿)》

热门文章

  1. 设置html按钮点击事件无效果,css怎么设置按钮不能点击?
  2. ssm中java实现树状结构_java ssm使用递归写树形结构
  3. 什么是Brouter?
  4. golang的new函数_new()和make()函数以及Golang中的示例
  5. css中的换行符_如何使用CSS防止项目列表中的换行符?
  6. 不要再用main方法测试代码性能了,用这款JDK自带工具
  7. 「递归算法」看这一篇就够了|多图
  8. Nginx-ingress部署及使用
  9. 关于shared_from_this的转换
  10. Win10系统局域网中的其他电脑能Ping通但是无法访问本地IIS发布的网站