GNU Compiler Collection
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. 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 and the standard compiler for most projects related to GNU and the Linux kernel. With roughly 15 million lines of code in 2019, GCC is one of the biggest open source programs in existence. 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. It was extended to compile C++ in December of that year. Front ends were later developed for Objective-C, Objective-C++, Fortran, Ada, D and Go, among others. The OpenMP and OpenACC specifications are also supported in the C and C++ compilers.

GCC has been ported to a wide variety of platforms and instruction set architectures, probably more 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 systems, including ARM-based and Power ISA-based chips.

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 systems, including most Linux distributions. Most BSD family operating systems also switched to GCC shortly after its release, although since then, FreeBSD, OpenBSD and Apple macOS have moved to the Clang compiler, largely due to political and licensing reasons. GCC can also compile code for Windows, Android, iOS, Solaris, HP-UX, AIX and DOS.
Q1325106
optimizing compiler
Concept
Q7598
GNU Project
ORG
Q9143
programming language
Concept
Q173212
hardware architectures
Concept
Q9135
operating system
Concept
Q48413
Free Software Foundation
ORG
Q341
free software
Concept
Q7603
GNU General Public License
MEDIA
Q1144323
GNU toolchain
Concept
Q44571
GNU
MISC
Q14579
Linux kernel
Concept
Q341
free software
Concept
Q7439
Richard Stallman
PER
Q15777
C programming language
Concept
Q2407
C++
MEDIA
None
Front ends
UNK
Q188531
Objective-C
MEDIA
Q188531
Objective-C++
MEDIA
Q83303
Fortran
ORG
Q154755
Ada
MEDIA
Q319268
D
MEDIA
Q37227
Go
MEDIA
Q496579
OpenMP
MEDIA
Q4045865
OpenACC
MISC
Q851989
ported
Concept
Q272683
instruction set architecture
Concept
Q218616
proprietary software
Concept
Q193040
embedded system
Concept
Q16980
ARM
Concept
Q65090442
Power ISA
MEDIA
Q44571
GNU operating system
MISC
Q14656
Unix-like
MISC
Q9135
operating system
Concept
Q388
Linux
MISC
Q34264
BSD
ORG
Q34236
FreeBSD
MEDIA
Q34215
OpenBSD
MISC
Q14116
Apple macOS
MISC
Q864915
Clang
Concept
Q1406
Windows
Concept
Q94
Android
MISC
Q48493
iOS
MEDIA
Q14646
Solaris
MISC
Q847593
HP-UX
MISC
Q269856
AIX
MEDIA
Q178940
GNU Compiler Collection
MEDIA
2019-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
2019
DATE
1987-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1987
DATE
+15^^http://www.w3.org/2001/XMLSchema#decimal
15
NUMBER
+1.0^^http://www.w3.org/2001/XMLSchema#decimal
1.0
NUMBER
developer
part of
programming language
operating system
operating system
instance of
subclass of
subclass of
based on