, the GNU Compiler Collection, is a free and open-source compiler system developed by the GNU Project. Originally named the GNU C Compiler, it now supports multiple programming languages, including C, C++, Objective-C, Fortran, Ada, Go, D, Rust, COBOL, and Algol 68, among others. It is a key component of the GNU toolchain and the standard compiler for most Linux distributions and open-source projects, including the Linux kernel.
GCC is highly portable and runs on various platforms, including Windows, macOS, Linux, BSD, and embedded systems. It follows the UNIX design philosophy, using modular tools for preprocessing, compiling, assembling, and linking code into executable binaries.
Key Features
Multi-language support: Compiles C, C++, and many other languages.
Cross-compilation: Can generate code for different architectures and operating systems.
Optimization: Offers advanced optimization techniques to improve performance.
Free and open-source: Distributed under the GNU General Public License (GPL).
Installation on Windows
For Windows users, GCC can be installed via:
MinGW-w64: A popular choice for native Windows compilation. Tools like WinLibs provide standalone, pre-built GCC + MinGW-w64 packages for Windows.
WSL (Windows Subsystem for Linux): Install a Linux distribution (e.g., Ubuntu) and use the system’s package manager to install GCC.
Cygwin: A Unix-like environment that includes GCC, though it requires the Cygwin runtime for executables.
Recent Releases
GCC 15.2 (released August 8, 2025) – Maintenance release with regression fixes.
GCC 14.3 (May 23, 2025) – Stable release with bug fixes.
GCC 13.4 (June 5, 2025) – Maintenance update.
GCC 16.0 (development, released January 12, 2026) – Under active development with regression fixes.
For installation, visit the official site: https://gcc.gnu.org/install/download.html.
Factsheet
GCC, the GNU Compiler Collection 15.1 released
Why is GCC the only compiler that cares deeply about C?
How do I get a GCC?
GCC 8 Through GCC 11 Stable Plus GCC 12 Compiler Benchmarks
Videos
https://gcc.gnu.org/gcc-15/
Some discussion on hackernews: https://news.ycombinator.com/item?id=43792248
Awhile back, there was some discussion of code like this:
char a[3] = "123";
which results in a an array of 3 chars with no terminating NUL byte, and no warning from the compiler about this (was not able to find that discussion or I would have linked it). This new version of gcc does have a warning for that. https://gcc.gnu.org/pipermail/gcc-patches/2024-June/656014.html And that warning and attempts to fix code triggering it have caused a little bit of drama on the linux kernel mailing list: https://news.ycombinator.com/item?id=43790855