`
lidnux
  • 浏览: 25150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

gcc与g++

阅读更多

Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。

GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。

gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。

选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。


GNU 的调试器称为 gdb

由于软件项目越来越大,也增加了软件项目管理的难度。在开发组中,每个成员都要保留一个副本,在开发中非常容易引起冲突。CVS 就是为了解决这个问题的。
a、修改同步,防止一名开发人员的修改覆盖其他人的成果。(check out、read only)

b、维护不同的版本。(按 version 查找)

c、可查找历史记录。防止 bug 的再引入。(diff)

CVS 为了解决这个问题,采用的方式是:

当开发人员对源代码进行修改时,修改的内容被登记(check in)到了 CVS 仓库(repository)中。仓库中保存了代码的主控副本,以及历次修改的历史信息。它不保存文件的每个版本,而只是简单的记录发生在每个版本间的不同,节省磁盘空间。它能做到:

a、使开发人员的目录和仓库保持一致。可以把自己的修改提交(commit)给仓库,让仓库更新自己。

b、允许代码派生。可以进行测试,如果失败,可以消除所做的修改,维持原结果。

c、检索任何一个版本。

分享到:
评论

相关推荐

    gcc与g++离线安装包

    适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:install.sh。运行即可完成安装。 方便快捷有效,可以避免各类依赖的困扰。 ---- 适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:...

    centos7 gcc/g++离线rpm包

    5. **验证安装**:安装完成后,可以通过运行`gcc --version`和`g++ --version`来验证GCC和G++是否已成功安装并查看其版本信息。 离线安装GCC/G++的这种方法对于那些在隔离网络环境中工作或者在多台服务器上部署相同...

    linux离线安装gcc ,g++,gcc-4.5.1

    在Linux环境中,GCC(GNU Compiler Collection)和G++是开发者常用的C和C++编译器。GCC不仅支持C和C++,还支持Fortran、Ada、Go等多种编程语言。G++是GCC的一部分,专门用于C++的编译。在某些没有网络连接的环境下,...

    8linux(ubuntu)安装 GCC 和 G++ C++ 开发环境.docx

    Ubuntu/Linux 下安装 GCC 和 G++ C++ 开发环境 在 Ubuntu/Linux 操作系统中,安装 GCC 和 G++ 是编译和运行 C++ 程序的必要步骤。GCC(GNU Compiler Collection)是一款开源的编译器套件,能够编译多种语言,包括 C...

    gcc和g++到底啥关系

    在探讨`gcc`与`g++`之间的关系之前,我们需要先了解这两个编译器的基本概念及其背后的技术背景。 #### GCC简介 `GCC`(GNU Compiler Collection)是一套由自由软件基金会(FSF)发布的开源编译器集合,它支持多种...

    gcc g++完整依赖rpm包

    标题"gcc g++完整依赖rpm包"指的是一个包含了构建和运行GCC与G++所需的所有依赖关系的RPM软件包集合。在安装GCC和G++时,通常会遇到许多依赖问题,因为它们需要一系列库和其他工具来完成编译任务。这个压缩包就是...

    gcc、g++离线安装包

    在Linux环境下进行C++开发,GCC(GNU Compiler Collection)和G++是不可或缺的工具。GCC是一套由GNU项目开发的编程语言编译器,而G++是GCC的一部分,专门用于C++语言的编译。本离线安装包包含了在Linux系统上安装GCC...

    redhat linux手动RPM安装gcc,g++

    确保下载的RPM包与你的Linux发行版和体系结构相匹配,例如`gcc.x86_64.rpm`和`g++.x86_64.rpm`。 在开始安装之前,确保系统已经安装了`rpm`命令,它是处理RPM包的工具。如果没有,可以使用以下命令安装: ```bash ...

    gcc g++ gcc g++ gcc g++ gcc g++

    gcc g++ gcc g++ gcc g++ gcc g++ gcc g++

    gcc g++ 离线安装包

    虽然题目中没有明确提到Nginx与GCC和G++的关联,但值得注意的是,Nginx是一个高性能的Web服务器和反向代理服务器,它的源码编译也依赖于GCC。如果你打算在离线环境中编译安装Nginx,那么提前准备好GCC和G++的离线...

    gcc-g++4.8.5离线安装包.rar

    标题 "gcc-g++4.8.5离线安装包.rar" 涉及的是在Linux系统上安装GCC(GNU Compiler Collection)和G++(GNU C++编译器)的离线方法,具体版本为4.8.5。GCC是开源的、跨平台的编译器套件,它包括了C、C++、Fortran、...

    gcc,g++的32位安装包

    在Linux操作系统中,GCC(GNU Compiler Collection)和G++是两个非常重要的编译器,用于将源代码编译成可执行程序。GCC主要处理C语言,而G++是GCC的一个扩展,专门针对C++编程语言。在64位的Linux系统上,由于默认...

    ubuntu下安装gcc,g++,java编译器,方便快捷,有效。.zip

    3. 安装GCC与G++:输入`sudo apt install gcc g++`,然后按回车。系统将自动下载并安装所需的编译器。 **安装Java JDK** 1. 首先,获取Oracle JDK的安装包,你可以访问Oracle官网或者使用阿里的开源镜像来下载。...

    g++ gcc编译器安装包及其依赖

    在进行软件开发时,`g++`和`gcc`还与其他工具紧密配合,如`make`用于自动化编译过程,`gdb`用于调试代码,以及`valgrind`用于检测内存泄漏和性能问题。熟悉这些工具的组合使用可以极大地提升开发效率和软件质量。 ...

    gcc-g++-4.4.2.tar.gz

    `gcc-g++-4.4.2` 是GCC的一个特定版本,发布于2009年,它包含了C++编译器g++和其他相关工具,如链接器和预处理器。这个版本的发布是为了提供对C++语言的新特性和改进,以及对其他编程语言的支持和优化。在4.4系列中...

    离线安装 gcc、g++

    在IT行业中,GCC(GNU Compiler Collection)和G++是至关重要的工具,它们分别用于编译C语言和C++语言的源代码。对于那些没有互联网连接或者网络环境受限的环境,如服务器集群或嵌入式系统,离线安装GCC和G++显得尤...

    ubuntu-gcc、g++不同版本的安装和切换.pdf

    ### Ubuntu GCC、G++ 不同版本的安装与切换详解 #### 概述 在Ubuntu系统中,GCC(GNU Compiler Collection)是一套广泛使用的开源编译器集合,它包含了多种编程语言的前端,如C、C++等。对于开发人员而言,在进行...

    Android上的gcc/g++编译环境

    本主题将深入探讨如何在Android设备上建立和使用GCC(GNU Compiler Collection)和G++(GNU C++ Compiler)编译环境,以实现C和C++代码的编译和执行。这个压缩包提供了必要的工具和步骤来实现这一目标。 首先,`...

    gcc和g++的区别

    #### 二、gcc与g++ 首先,我们需要明确一点:`gcc`(GNU Compiler Collection)主要被设计用于编译C语言代码,而`g++`(GNU C++ Compiler)则专注于C++语言。尽管如此,在实际应用中,两者都能处理C和C++代码,关键...

    Linux-GCC-G++编译器与调试器.ppt

    对于C语言和C++语言,G++与GCC的编译选项基本相同。常用的GCC和G++编译选项包括: * -c:编译源文件,但不链接生成可执行文件 * -o:指定输出文件名 * -Wall:启用所有警告 * -g:生成调试信息 GCC/G++编译器执行...

Global site tag (gtag.js) - Google Analytics