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. tf.get_variable
  2. 如何修改 远程桌面的 默认端口号 3389
  3. Java学习笔记:内部类/匿名内部类的全面介绍
  4. 磁盘阵列掉电 oracle数据库,掉电导致磁盘坏,非归档下的redo全部丢失,数据库打开的恢复失败...
  5. python用字典存储学生信息网_用Python存储字典的四种方法
  6. [转]实用体系结构:逻辑分层
  7. Java并发编程的基础-其他的线程复位
  8. js函数提示 vscode_工欲善其事,必先利其器,VSCode高效插件
  9. activiti页面展示流程图乱码_activiti 5.17 流程图中文乱码问题
  10. Programming 2D Games 读书笔记(第二章)
  11. HTML5中的自定义属性总结
  12. 求小数的某一位(信息学奥赛一本通-T1082)
  13. spring整合hibernate事务编程中错误分析
  14. csdn设置图片居中和尺寸
  15. c语言中堆栈_C语言编程中的堆栈
  16. 【HTTP请求】、详解
  17. 2021年最佳开源软件榜单出炉!
  18. 计算机论文格式要求吗,计算机论文格式(写作要求详细介绍)
  19. 鼠标不显示玩家服务器,远程链接服务器鼠标不显示
  20. c语言中until的用法,until的用法总结

热门文章

  1. [转载] 微服务安全和治理
  2. 插入排序算法 ,递归实现_C程序实现递归插入排序
  3. linux sudo 版本,Linu下如何升级当前sudo版本
  4. c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装3
  5. 电源变换适用于非独立源码_适用于非None测试的Python程序
  6. 面试官:HashMap有几种遍历方法?推荐使用哪种?
  7. 爱了!蚂蚁开源的“SpringBoot”框架,新增了这6项功能...
  8. 面试官 | 什么是 Lambda?该如何使用?
  9. 后台设计中容易被忽略的坑
  10. nodejs字符与字节之间的转换