GCC,G++介绍

article/2025/10/24 16:05:13

1.什么是GCC

  • GCC 原名为 GNU C语言编译器(GNU C Compiler)
  • GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言 译器。GNU 编译器套件包括C、C++、Objective-C、Java、Ada 和 Go 语言前 端,也包括了这些语言的库(如 libstdc++,libgcj等)
  • GCC 不仅支持 C 的许多“方言”,也可以区别不同的 C 语言标准;可以使用命令行 选项来控制编译器在翻译源代码时应该遵循哪个 C
    标准。例如,当使用命令行参数 -std=c99 启动 GCC 时,编译器支持 C99 标准。
  • 安装命令 sudo apt install gcc g++ (版本 > 4.8.5)
  • 查看版本 gcc/g++ -v/–version

2.GCC和G++区别

  • gcc 和 g++都是GNU(组织)的一个编译器。

  • 误区一:gcc 只能编译 c 代码,g++ 只能编译 c++ 代码。两者都可以,请注意:
    后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 c++ 程序
    后缀为 .cpp 的,两者都会认为是 C++ 程序,C++ 的语法规则更加严谨一些
    编译阶段,g++ 会调用 gcc,对于 C++ 代码,两者是等价的,但是因为 gcc命令不能自动和 C++ 程序使用的库联接,所以通常用 g++ 来 完成链接,为了统一起见,干脆编译/链接统统用 g++ 了,这就给人一种错觉,好像 cpp 程序只能用 g++ 似的

  • 误区二:gcc 不会定义 __cplusplus 宏,而 g++ 会

    实际上,这个宏只是标志着编译器将会把代码按 C 还是 C++ 语法来解释
    如上所述,如果后缀为 .c,并且采用 gcc 编译器,则该宏就是未定义的,否则,就是已定义

  • 误区三:编译只能用 gcc,链接只能用 g++

    严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用 g++ 或者 gcc -lstdc++。
    gcc 命令不能自动和C++程序使用的库联接,所以通常使用 g++ 来完成联接。但在编译阶段,g++ 会自动调用 gcc,二者等价

3.GCC工作流程

在这里插入图片描述

4.GCC常用参数选项

在这里插入图片描述


http://chatgpt.dhexx.cn/article/fSyQ06TI.shtml

相关文章

tdm gcc怎么运行c语言,TDM-GCC 64位

TDM-GCC 是为windows系统打造的编译器套件,包括了自由并开源的 MinGW 或 MinGW-w64 的运行时 APIs,当GCC创建一个新的版本,TDM构建二进制包在MinGW环境中使用MinGW的官方GCC软件包的替代品。需要的朋友可以下载! TDM-GCC安装教程 …

什么是GCC? GCC编译过程

什么是GCC? 最简单的回答就是Linux 下的C/C 编译器。 其实一开始的确是这样的,GCC 原名为GUN C 语言编译器( GNU C Compiler), 原本只能处理编译C语言。 但是后来GCC发展壮大了,可以编译C, Fortran,Pascal,Objective-C, Java,A…

GCC是什么

GCC是什么 说到 GCC,就不得不提 GNU,“GNU”是“GNUs Not Unix!”(GNU并非Unix!)的首字母递归缩写,中文名“革奴计划”。GNU 计划的最终目标是打造出一套完全自由(即自由使用、自由更改、自由发…

GCC简介

一. GCC简介 GCC(GNU C Compiler)原名GNU C语言编译器,是由GNU开发的编程语言译器,只能处理C语言。但其很快扩展,变得可处理C,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective…

一张图学会python递归函数

递归函数属于那种“难者不会,会者不难”的事情,回想自己大学时学习递归函数的经历,简直是痛不欲生,代码里没有一行是看不懂的,但就是理解不了它是怎样运行的。 等到自己悟通了原理,就又会觉得这东西太简单了…

【Python递归练习】

1.出售金鱼问题第一次卖出全部金鱼的一半加二分之一条金鱼;第二次卖出乘余金鱼的三分之一加三分之一条金鱼;第三次卖出剩余金鱼的四分之一加四分之一条金鱼;第四次卖出剩余金鱼的五分之一加五分之一条金鱼;现在还剩下11条金鱼。问…

python 递归函数详解

在 python中,有一种非常神奇的函数:递归函数,它可以让你的程序实现自顶向下的递归调用,从而实现程序的无限循环。这是一种非常神奇的语言,可以让你使用一种语言实现另一种语言。它还有一个很酷的名字: shel…

python函数递归求和详解_Python递归函数详细分析

什么是递归? 递归,就是在函数运行中自己调用自己 代码示例: def recursion(n): # 定义递归函数 print(n) # 打印n recursion(n1) # 在函数的运行种调用递归 recursion(1) # 调用函数 这个函数在不断的自己调用自己,每次调用n1,看下运行结果: 1 2 ..... 998Tracebac…

Python递归思想与代码实现

1, 递归思想 递归算法:递归(Recursion),在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。 这是官方的解释,翻译成人话就是: 函数内部自己调用自己函数必须有出口 函数自己调用自己很好理解&#xff0c…

python函数递归调用时对深度没有限制_python递归深度

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天在写爬虫的时候,发现了一个事情,使用str方法强制转换一个beautifulsoup对象成字符串的时候报错了,提示是“maximum recursion depth exceeded while cal…

python递归函数详解

python递归函数是指一个函数从一个状态开始,然后返回另一个状态。递归函数是在实现过程中遇到的最基本的一类函数。比如, int i0; int j0; int c1;等等都是一类递归函数,但是我们知道,它们在实现过程中需要执行多次,并…

Python 递归的优化

文章目录 前言一、递归实现斐波那契二、优化后的斐波那契总结 前言 递归,很常见的一种算法,在初学的时候我们都会用递归来解决斐波那契数列,但递归本身有非常大的缺陷,就是时间和空间占用都非常大,在进阶学习后&#…

Python 递归实现乘法

Python定义函数:使用递归求乘积(x*y) 1 当作x个y相加或者y个x相加 2 当其中一数(以x为例)不为1时,返回y加上该函数,同时每次x-1,直至x1为止,此过程实现了x个y相加 具体代码如下:

python递归遍历查询文件 文件夹

文章目录 🍗先看运行效果🍔 具体思路🍟 一、主要使用的模块以及方法🌭 二、主要思路以及代码🍿 1、开始位置🧂 2、关键位置🥓 3、结果输出 🧇 完整源码🥞 结尾&#x1f9…

轻松搞懂Python递归函数的原理与应用

递归: 在函数的定义中,函数内部的语句调用函数本身。 1、递归的原理 学习任何计算机语言过程中,“递归”一直是所有人心中的疼。不知你是否听过这个冷笑话:“一个面包,走着走着饿了,于是就把自己吃了”。 常理推断&…

python递归如何理解

最近在做递归一些相关的东西,发现递归入门很容易,但要具体了解其实现过程,比较难以理解,在这里将自己这几天的摸索记录一下,写知乎的主要目的是为了给自己做笔记,在做笔记的同时,帮助后来人少走…

【Python函数的递归】

递归的定义 函数作为一种代码封装,可以被其他程序调用,当然,也可以被函数内部代码调用。这种函数定义中调用函数自身的方式称为递归。就像一个人站在装满镜子的房间中,看到的影像就是递归的结果。递归在数学和计算机应用上非常强大…

H3C 交换机S5130S软件版本升级

1.通过官网下载软件包 升级的包名为 S5130S_HI-CMW710-R6330.ipe 2. 查看FLASH空间是否足够 <H3C>dir /all Free的空间需要是软件包的2倍大小&#xff0c;例如S5130S_HI-CMW710-R6330.ipe软件包大小为54MB&#xff0c;那么交换机Free的空间需要108M。 空间如果…

H3C 交换机S6520X软件版本升级

1.通过官网下载软件包 升级的包名为 S6520X-CMW710-R6312P02.zip 压缩包里有很多特性包&#xff0c;我们目前就使用 S6520X-CMW710-R6312P02.ipe 2. 查看FLASH空间是否足够 <H3C>dir /all Free的空间需要是软件包的2倍大小&#xff0c;例如S6520X-CMW710-R6312P0…

H3c服务器升级硬盘固件,H3C交换机升级固件版本

二、进入产品支持与服务&#xff0c;找到适配的交换机固件进行下载 三、下载时要求提供用户名密码 用户名&#xff1a;yx800 密码&#xff1a;01230123 四、H3C官方升级说明案例 1.1 实验拓扑(假设SW1上 VLAN 1 的虚地址为10.10.10.1&#xff0c;PC配置同网段地址10.10.10.…