GNU Compiler Collection (GCC)
| Version | 8.2(as of 9/24/2018) |
| Platforms | Windows, Mac, Linux |
| License | Open Source |
| Category | Programming |
Main Features
- Free, open source suite of compilers
- Supports several different front end languages
- Can cross-compile executables for different platforms
Software Overview
The GNU Compiler Collection (GCC) is a suite of open source compliers most commonly used for compiling C and C++ programs. GCC supports several other programming languages as well, including Objective-C, Fortran, Java, Ada, Go, and BRIG (HSAIL). The compilers are most commonly used on Unix-based systems, but a Windows port, called MiniGW, can be used as well.
GCC includes several different compilers:
- gcc: A C compiler
- g++: A C++ and Objective-C compiler
- gfortran: A Fortran compiler
- gcj: A Java compiler
- GNAT: An Ada compiler
- gccgo: A Go compiler
One great feature of GCC is its ability to cross-compile programs for different platforms. This means that, even though a developer uses GCC on one platform, it may be compiled for another target platform.
GCC is one of the most common choices for compiling C and C++ programs on Unix-based systems. If you're developing for Linux, GCC is a good go-to choice. It can also be used for Windows, but other compilers are typically preferred, such as the compiler included with Microsoft Visual Studio.
Primary File Type
Supported File Types
| Extension | File Type |
|---|---|
| .C | C/C++ Source Code File |
| .ADA | Ada Source Code |
| .ADB | Ada Body File |
| .ADS | Ada Specification File |
| .ASM | Assembly Language Source Code File |
| .CPP | C++ Source Code File |
| .F | Fortran Source Code |
| .H | C/C++/Objective-C Header File |
| .HPP | C++ Header File |
| .JAVA | Java Source Code File |
| .M | Objective-C Implementation File |
Additional Related File Types
| Extension | File Type |
|---|---|
| .A | Static Library |
| .AR | Unix Static Library |
| .CC | C++ Source Code File |
| .GCH | Precompiled Header File |
| .HXX | C++ Source Code Header File |
| .O | Compiled C Object File |
| .SO | Shared Library |