Table of Content

    GCC

    GCC

    GNU 编译器套件(GNU Compiler Collection),通常简称为 GCC,是一组编译器和开发工具组合,可用于 LinuxWindows、多种 BSD 以及其他操作系统。
    用 Incredibuild 加速 GCC

    什么是 GCC

    GNU 编译器套件(GNU Compiler Collection),简称为 GCC,是一组编译器和开发工具组合,可用于 LinuxWindows、多种 BSD 以及其他操作系统。GNU 编译器套件包括 C C++ Objective-CAdaGoFortran, D 语言前端。自由软件基金会(FSF)编写了 GCC,并将其作为完全自由的软件发布。
    立即试用
    什么是 GCC

    GCC history and latest version

    1987 年 3 22 日,一个周日,Richard M. StallmanIT界称他为 RMS)发布了GCC,并邀请其他人进行测试。在接下来的十年中,这个项目并入 EGCS 的编译器。1999 4 月,这些项目再次合并,成为 GNU 项目的一部分,并重新命名为 GNU 编译器套件。 GCC Steering Committee 接手管理这个项目,并定期进行更新。目前最新版本是 20213 19 日发布的 10.2 版。

    How to use it?

    GCC 是一个工具链,用于编译代码,将代码与各种库依赖项连接,并为程序集,最后形成可执行文件。GCC 遵循标准的 UNIX 设计理念,工具简单,但效果和性能一流。GCC 开发组件利用多个分散的工具辅助软件编译。 在源代码文件上运行 GCC 时,首先,GCC 预处理头文件,并消除注释。接下来,标记代码,扩展宏,检测编译有无错误,然后准备编译。将预处理后的文件发送到编译器,编译器创建程序对象和控制流的语法树,并形成汇编代码。然后汇编器将此代码转换为系统的二进制可执行代码。最后,增加所需的外部库引用链接。最终,形成可在目标系统中执行的程序。

    GCC and Incredibuild

    几乎所有的 Linux 发行版都预装了 GCC,或者在主存储库中已存有 GCC,所以安装过程很简单。Debian 发行版,如 DebianUbuntu linuxmint,可运行“apt install build essentials”。在 RedHat 发行版,如 RedHat Enterprise LinuxFedoraCentOS Amazon Linux,则运行“yum group installDevelopment Tools”。在 Arch Manjaro Arch 发行版上,运行“pacman-S base devel”。 macOS 用户可以使用“brew install gcc”。 有关 Windows 的安装说明,在后续小标题《GCC Windows》中为大家介绍。

    GCC and Incredibuild

    GCC 为开发人员提供了丰富的功能,包括支持多种编程语言、深度代码优化和跨平台编译。了解更多 GCC 特性,请访问杜比回顾:GCC vs Clang.

    GCC and Incredibuild

    使用 GCC 进行编译的过程很简单,比如: gcc hello.c -o hello 运行这个命令,处理 hello.c 文件,并生成一个名为“hello”的二进制文件。其他参数可以进一步传递。 gcc hello.c -O3 -o hello 在本例中,优化参数设置为 3,从而生成更优的代码。 其中也可以包括其他库。 gcc hello.c -lncurses -o hello 此用例包含了 ncurses 库。 更复杂的编译则由 makefile 管理,并通过“make”命令调用。

    GCC for Windows

    Windows 有两个选项,一是安装 WSLWindows Subsystem for Linux),并安装所选的发行版,按照上面的说明进行操作。或者可以使用 MinGWMinimalist GNU for Windows)发行版,该发行版可从链接获取。 WSL 选项,让 GCC 使用体验更像 Linux。现代 WSL 版本运行的是本地 Linux 系统,因此开发人员在使用此环境时,工作流程几乎没有偏差。不过 WSL 是一种虚拟化技术,因此会有一些性能成本。此外,图形程序可能不会造成性能或功能受损,因此 MinGW-W64 适合编译 GUI 软件的开发人员。

    icon

    GCC for Linux

    GCC 是 GNU 工具链的核心,GNU 工具链是用来编译大多数 Linux 和开源软件的开发系统。虽然有一些专业发行版省略了 GCC,但我们几乎可以在每个 Linux 系统中找到。Linux 内核本身主要是用 GCC 编译的。Linux 内核和 GNU 工具链的合作发展由来已久,以至于 Linux 生态系统通常被称为 GNU/Linux

    icon

    icon

    GCC 的优势

    • GCC 最显著的优势可能是其 GPL 3(General Public license,通用公共许可证)许可证,用户可以因此自由使用软件。自由软件基金会相当支持这个项目,因此 GCC 社区也发展兴旺,开发人员集思广益,积极贡献,形成了一个良好的知识技术生态系统。
    • GCC 的模块化设计,让故障排除和源代码维护更容易,新功能更容易实现。

    GCC and Incredibuild

    GCC 是能加速开发,结合 IncredibuildGCC 速度更快。Incredibuild 通过进程虚拟化技术全马力加速进程,把每台主机变成一台拥有数百个内核的超级计算机。在 Incredibuild 的助力下,编译、测试到发布自动化的流程都可进行进一步提速,产品质量提高,速度显著加快。

    icon

    icon

    要点总结

    获取免费 License

    icon

    Table of Content

      缩短构建时间

      Incredibuild 助力您的团队提升生产力,并专注于创新。
      分享

      永远不要把同一件事运行两次。

      [wpml_language_selector_widget]