![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/GCC_10.2_GNU_Compiler_Collection_self-compilation.png/640px-GCC_10.2_GNU_Compiler_Collection_self-compilation.png&w=640&q=50)
GCC
支援各種程式語言的編譯器系統 / 维基百科,自由的 encyclopedia
GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC)是GNU计划制作的一种优化编译器,支持各种编程语言、操作系统、电脑系统结构。该编译器是以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,还是GNU工具链的主要组成部分之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼开始发展,现在由自由软件基金会负责维护工作。截至2019年,GCC大约有1500万行代码,是现存最大的自由程序之一。[2] 它在自由软件的发展中发挥了重要作用,不仅是一个工具,还是一个典例。
![]() | |
![]() GCC 10.2编译自身原始码截图 | |
开发者 | GNU计划 |
---|---|
首次发布 | 1987年5月23日 (1987-05-23) |
当前版本 |
![]() |
原始码库 | ![]() |
编程语言 | C++ |
操作系统 | 跨平台 |
文件大小 | 约一千五百万行[2] |
语言 | 英语 |
类型 | 编译器 |
许可协议 | GNU通用公共许可证第三版或更新 |
网站 | gcc |
原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。同年12月,新的GCC编译器可以编译C++语言。后来又为Fortran、Pascal、Objective-C、Java、Ada,Go等其他语言开发了前端。C和C++编译器也支持OpenMP和OpenACC规范。
GCC编译器已经被移植到比其他编译器更多的平台和指令集架构上,并被广泛部署在开发自由和专有软件的工具中。GCC还可用于许多嵌入式系统,包括基于ARM和Power ISA(英语:Power ISA)的晶片。
GCC不仅是GNU操作系统的官方编译器,还是许多类UNIX系统和Linux发行版的标准编译器。BSD家族中的大部分操作系统也在GCC发布之后转用GCC;不过FreeBSD、OpenBSD和Apple macOS已经转向了Clang编译器[3],主要是因为许可问题。[4][5][6]GCC也可以编译Windows、Android、iOS、Solaris、HP-UX、IBM AIX和DOS系统的代码。GCC原本用C开发,后来因为LLVM、Clang的崛起,它更快地将开发语言转换为C++。许多C的爱好者在对C++一知半解的情况下主观认定C++的性能一定会输给C,但是Ian Lance Taylor给出了不同的意见,并表明C++不但性能不输给C,而且能设计出更好,更容易维护的程序[7][8]。