linux 为什么要安装gcc和gcc-c++(又叫做g++)
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++)相关推荐
- Linux中如何安装特定的gcc版本
Linux允许多个版本的gcc共存,当你需要安装多个版本的gcc的时候,比如同时安装gcc-7和gcc-8,你可以通过 update-alternatives 来重定位你想使用的gcc版本. sudo ...
- 看inux系统中的c语言编译器,Linux系统自定义安装C语言gcc编译器图文详细教程
有些Linux系统自带gcc编译器,有些则不带,比如CentOS版本的系统就没有gcc,我们在安装一些C语言开发的软件时,就没有办法进行编译,那就需要我们手动进行安装gcc,手动安装较麻烦,依赖了一些 ...
- linux gcc 安装目录,Linux安装其他版本GCC的方法
前言 有时候,在Linux中需要安装固定版本的GCC,才能满足工作要求.例如:在Fedora22中,编译OpenCV的cuda部分需要GCC 4.9.X及以下的版本,而Fedora22的GCC是在5. ...
- linux使用交叉工具链产生的程序怎么下载到mini2440里,Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...
一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...
- 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 ...
- linux下安装或升级GCC 4.8以上版本(包括),以支持C++11
本文转载自:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C ...
- linux下编译安装gcc,Linux编译安装GCC 5.1.0
Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是GCC了.2015年4月下旬GCC也出到了5.1.0版本,对于C++11/14也有了更好的支持了.因为最近在学习O ...
- linux中可以安装不同版本的gcc么,在linux下安装多个版本的GCC
文章链接:http://blog.csdn.net/chid/article/details/6251781 很是有用,转载学习 1.查看当前linux版本 内核版本:cat /proc/versio ...
- 【linux】RedHat 安装 gcc、g++
环境介绍 系统版本:RedHat 7.6 cat /etc/redhat-release # Red Hat Enterprise Linux Server release 7.6 (Maipo) 安 ...
最新文章
- PHP实现MVC开发: 一个简单的MVC(转)
- J0ker的CISSP之路:复习Access Control(10)
- android ListView详解
- 一款很好用的JQuery dtree树状图插件(一)
- 面向对象—的__new__()方法详解
- 如何在摆摊经济中脱颖而出
- 服务器升级中暂不可修改怎么回事,抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?...
- mysql时间相减得到天数保留两位_【敲黑板!】分布式事务数据库 —-MySQL 数据库开发规范(第四节)...
- Navicat 11破解版
- Java设计模式透析之 —— 组合(Composite)
- node.js上传图片
- php pdo 中dsn参数,PDO连接数据库及DSN详解
- 计算机视频追踪方向,基于深度学习的目标视频跟踪算法综述
- 哪些浏览器支持html5?
- 推荐几个好用的网盘搜索引擎
- matlab solve函数错误【检查对函数 ‘solve‘ 的调用中是否缺失参数或参数数据类型不正确】
- 接口测试自动化的思考与总结
- 怎么用计算机算npv,CFA考试使用的计算器的用法
- 化学计量学中一些重要的概念
- 国家互联网信息办公室:发布关于《区块链信息服务管理规定(征求意见稿)》
热门文章
- 设置html按钮点击事件无效果,css怎么设置按钮不能点击?
- ssm中java实现树状结构_java ssm使用递归写树形结构
- 什么是Brouter?
- golang的new函数_new()和make()函数以及Golang中的示例
- css中的换行符_如何使用CSS防止项目列表中的换行符?
- 不要再用main方法测试代码性能了,用这款JDK自带工具
- 「递归算法」看这一篇就够了|多图
- Nginx-ingress部署及使用
- 关于shared_from_this的转换
- Win10系统局域网中的其他电脑能Ping通但是无法访问本地IIS发布的网站