Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Compiler Collection
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Free and open-source compiler for various programming languages}} {{Primary sources|date=January 2022}} {{Use mdy dates|date=March 2015}} {{Infobox software | name = GNU Compiler Collection | logo = [[File:GNU Compiler Collection logo.svg|100px]] | logo caption = | screenshot = GCC 10.2 GNU Compiler Collection self-compilation.png | caption = Screenshot of GCC 10.2 compiling its own source code | collapsible = | author = [[Richard Stallman]] | developer = [[GNU Project]] | released = {{Start date and age|1987|03|22}}<ref name="release-history">{{cite web|url=https://gnu.org/software/gcc/releases.html|title=GCC Releases|publisher=GNU Project|access-date=July 24, 2020|archive-date=June 4, 2023|archive-url=https://web.archive.org/web/20230604113400/https://www.gnu.org/software/gcc/releases.html|url-status=live}}</ref> | discontinued = | latest release version = {{wikidata|property|preferred|references|edit|Q178940|P348|P548=Q2804309}} | latest release date = {{wikidata|qualifier|preferred|single|Q178940|P348|P548=Q2804309|P577}} | latest preview version = {{wikidata|property|preferred|references|edit|Q178940|P348|P548=Q51930650}} | latest preview date = {{wikidata|qualifier|preferred|single|Q178940|P348|P548=Q51930650|P577}} | programming language = [[C (programming language)|C]], [[C++]]<ref>{{Cite web|title=GCC Coding Conventions - GNU Project|url=https://gcc.gnu.org/codingconventions.html|access-date=2022-02-07|website=gcc.gnu.org|archive-date=May 28, 2023|archive-url=https://web.archive.org/web/20230528012107/https://gcc.gnu.org/codingconventions.html|url-status=live}}</ref> | operating system = [[Cross-platform]] | platform = [[GNU]] and many others | size = ~15 million [[Source lines of code|LOC]]<ref name="loc">{{cite web|url=https://www.youtube.com/watch?v=QXwxBM4sbYM| archive-url=https://ghostarchive.org/varchive/youtube/20211107/QXwxBM4sbYM| archive-date=2021-11-07 | url-status=live|title=Cutting Edge Toolchain (Latest Features in GCC/GLIBC)|author=Víctor Rodríguez|date=2019-10-01|website=youtube.com|publisher=Linux Foundation|access-date=2021-01-19}}{{cbignore}}</ref> | language = English | genre = [[Compiler]] | license = [[GNU General Public License|GPLv3+]] with GCC Runtime Library Exception<ref>{{cite web|url=https://gnu.org/licenses/gcc-exception-3.1|title=GCC Runtime Library Exception|access-date=July 24, 2020|archive-date=March 31, 2023|archive-url=https://web.archive.org/web/20230331220440/https://www.gnu.org/licenses/gcc-exception-3.1|url-status=live}}</ref> | alexa = | website = {{URL|https://gcc.gnu.org}} }} The '''GNU Compiler Collection''' ('''GCC''') is a collection of [[compiler]]s from the [[GNU Project]] that support various [[programming language]]s, [[Computer architecture|hardware architectures]], and [[operating system]]s. The [[Free Software Foundation]] (FSF) distributes GCC as [[free software]] under the [[GNU General Public License]] (GNU GPL). GCC is a key component of the [[GNU toolchain]] which is used for most projects related to [[GNU]] and the [[Linux kernel]]. With roughly 15 million lines of code in 2019, GCC is one of the largest free programs in existence.<ref name="loc"/> It has played an important role in the growth of [[free software]], as both a tool and an example. When it was first released in 1987 by [[Richard Stallman]], GCC 1.0 was named the '''GNU C Compiler''' since it only handled the [[C (programming language)|C programming language]].<ref name="release-history" /> It was extended to compile [[C++]] in December of that year. [[Compiler#Front end|Front ends]] were later developed for [[Objective-C]], [[Objective-C++]], [[Fortran]], [[Ada (programming language)|Ada]], [[Go (programming language)|Go]], [[D (programming language)|D]], [[Modula-2]], [[Rust (programming language)|Rust]] and [[COBOL]] among others.<ref>{{cite web|url=https://gcc.gnu.org/frontends.html|title=Programming Languages Supported by GCC|access-date=2014-06-23|publisher=GNU Project|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185814/https://gcc.gnu.org/frontends.html|url-status=live}}</ref> The [[OpenMP]] and [[OpenACC]] specifications are also supported in the C and C++ compilers.<ref name="gcc6">{{Cite web|url=https://gcc.gnu.org/gcc-6/changes.html|title=GCC 6 Release Series — Changes, New Features, and Fixes - GNU Project|website=gcc.gnu.org|access-date=September 19, 2016|archive-date=September 22, 2016|archive-url=https://web.archive.org/web/20160922161533/http://gcc.gnu.org/gcc-6/changes.html|url-status=live}}</ref><ref name=":2">{{Cite web|url=https://gcc.gnu.org/wiki/OpenACC|title=OpenACC - GCC Wiki|website=gcc.gnu.org|access-date=September 19, 2016|archive-date=April 1, 2015|archive-url=https://web.archive.org/web/20150401174332/https://gcc.gnu.org/wiki/OpenACC|url-status=live}}</ref> As well as being the official compiler of the [[GNU operating system]], GCC has been adopted as the standard compiler by many other modern [[Unix-like]] computer [[operating system]]s, including most [[Linux]] distributions. Most [[Berkeley Software Distribution|BSD]] family operating systems also switched to GCC shortly after its release, although since then, [[FreeBSD]] and [[MacOS|Apple macOS]] have moved to the [[Clang]] compiler,<ref>{{Cite web|url=https://llvm.org/Users.html|title=The LLVM Compiler Infrastructure Project|website=llvm.org|access-date=September 24, 2021|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185909/https://llvm.org/Users.html|url-status=live}}</ref> largely due to licensing reasons.<ref>{{Cite web|title=Apple's GPLv3 purge|url=http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/|access-date=2021-01-12|website=meta.ath0.com|date=February 5, 2012|language=en-us|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185910/http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/|url-status=live}}</ref><ref>{{Cite web|last=Linnemann|first=Reid|date=June 20, 2012|title=Why Clang|url=https://lists.freebsd.org/pipermail/freebsd-questions/2012-June/242495.html|access-date=2021-01-12|archive-date=January 18, 2023|archive-url=https://web.archive.org/web/20230118185910/https://lists.freebsd.org/pipermail/freebsd-questions/2012-June/242495.html|url-status=live}}</ref><ref>{{Cite web|date=2007-10-11|title=August 29, 2007: FreeBSD Foundation Newsletter, August 29, 2007|url=http://www.freebsdfoundation.org/press/2007Aug-newsletter.shtml#Letter|access-date=2021-01-12|archive-url=https://web.archive.org/web/20071011023649/http://www.freebsdfoundation.org/press/2007Aug-newsletter.shtml#Letter|archive-date=October 11, 2007}}</ref> GCC can also compile code for [[Microsoft Windows|Windows]], [[Android (operating system)|Android]], [[iOS]], [[Solaris (operating system)|Solaris]], [[HP-UX]], [[IBM AIX|AIX]] and [[DOS]].<ref>{{Cite web|title=Installing GCC: Binaries - GNU Project - Free Software Foundation (FSF)|url=https://gcc.gnu.org/install/binaries.html|access-date=2021-01-12|website=gcc.gnu.org|archive-date=January 5, 2021|archive-url=https://web.archive.org/web/20210105200706/https://gcc.gnu.org/install/binaries.html|url-status=live}}</ref> GCC has been [[porting|ported]] to more platforms and [[instruction set architecture]]s than any other compiler, and is widely deployed as a tool in the development of both free and [[proprietary software]]. GCC is also available for many [[embedded system]]s, including [[ARM architecture family|ARM]]-based and [[Power ISA]]-based chips.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)