Store
GCC
Overview
GCC (GNU Compiler Collection) is the world's most widely used and oldest free and open-source compiler suite, and a cornerstone of the entire free software ecosystem. Initially compiling only C, it now supports over 20 languages including C, C++, Fortran, Ada, Go, Objective-C, D, Rust (plugin), and COBOL, covering almost all mainstream CPU architectures (x86_64, ARM, RISC-V, PowerPC, MIPS, AVR, RISC-V, etc.). Maintainers: GNU Project + Red Hat, IBM, Intel, ARM, Huawei, etc. Official website: https://gcc.gnu.org. License: GPL v3 + Runtime Library Exception (allows compiled programs to remain closed-source). Installation: Almost all Linux distributions include it by default; it can also be installed with one click on Android NDK, macOS (Homebrew), and Windows (MinGW-w64/Cygwin).
History and Development
- May 23, 1987: Richard Stallman released GCC 1.0 (the first public release, supporting only C),this is the first release date of GCC.
- 1988: Added the C++ frontend (g++).
- 1991: Added support for Fortran.
- 1997–1999: The EGCS branch was re-merged, becoming the starting point for modern GCC.
- 2001: Officially renamed GNU Compiler Collection.
- 2010–2020: Gradually added support for Go, C++11/14/17/20.
- 2022: RISC-V became an officially supported Tier 1 architecture.
- 2024: GCC 14 completed most of the C23 support.
- August 14, 2025: GCC 15.2 released, making C23 the default standard for the first time, with C++23 100% complete.
- Current Status: Running for 38 years, still maintaining a major release cycle every year.
Key Features
- Full support for C23 and its default standard (-std=c23).
- 100% implementation of C++23 (including std::mdspan, std::flat_map, ranges optimization, and coroutines enhancement).
- Full support for Fortran 2018 + partial support for Fortran 2023.
- Full support for RISC-V Vector 1.0 and Zve32x/64x.
- Full optimization for AMD Zen 5 (AVX10.1, APX, AVX-VNNI) and Intel AVX10.
- Significant enhancements to OpenMP 5.2 and OpenACC 3.3.
- Faster LTO (link-time optimization) and PGO (performance-based optimization).
- Continuously improving the static analyzer, fanalyzer.
- Supports over 100 target architectures (from 8-bit AVRs to supercomputers).
Advantages and Limitations
Advantages
- Number one globally in terms of supported languages and platforms (especially embedded systems, RISC-V, and legacy architectures).
- Compiles typically faster than Clang.
- Deeply integrated with toolchains such as GNU binutils and glibc.
- Completely free + Runtime Exception handling, safe for use in commercial closed-source projects.
- Default choice for Linux distributions, Android NDK, and embedded firmware.
Limitations
- Generated code can be 5–15% slower than the latest Clang in some high-load x86_64 scenarios.
- C++ module support lags behind Clang by 1–2 years.
- Static analysis capabilities are inferior to Clang Static Analyzer.
- Debug information (-g) is larger than Clang's.
- In the Apple ecosystem (macOS/iOS), it has been completely superseded by Clang.
Summary
GCC, since its inception in 1987, has been one of the most successful and longest-lived open-source compilers in history. GCC 15.2 in 2025 implemented full C23 and C++23 support, continuing its absolute dominance in Linux distributions, the RISC-V ecosystem, embedded devices, supercomputers, Android NDK, and other fields. For any developer who needs to compile C/C++/Fortran/Go/Rust on Ubuntu, Cygwin, Raspberry Pi, servers, or embedded devices, GCC remains the "default and most reliable" choice. In short: If you are using Linux, RISC-V, or embedded devices, you are most likely using code compiled with GCC, either directly or indirectly.


