GCC（GNU Compiler Collection）支持多种编程语言的编译。以下是主要的支持语言：

## **核心语言**
1. **C** - 原生支持，是GCC最初的功能
2. **C++** - 通过 `g++` 编译器
3. **Objective-C** - 支持苹果的Objective-C语言
4. **Objective-C++** - Objective-C的C++扩展
5. **Fortran** - 通过 `gfortran`（替代了旧的g77）

## **其他重要语言**
6. **Ada** - 通过GNAT（GNU Ada Translator）
7. **Go** - 通过 `gccgo`（Go语言前端）
8. **D** - GNU D编译器（GDC）
9. **Rust** - 通过 `rustc` 前端（gccrs项目，较新支持）

## **实验性/有限支持的语言**
- **Java** - 通过GCJ（已基本停止维护）
- **Modula-2** - GNU Modula-2
- **OpenMP** - 支持C/C++/Fortran的OpenMP并行编程模型
- **OpenACC** - 支持加速器编程

## **常用编译命令**
```bash
# C
gcc source.c -o program

# C++
g++ source.cpp -o program

# Fortran
gfortran source.f90 -o program

# Go
gccgo source.go -o program
```

## **重要特性**
- **多平台支持**：x86、ARM、RISC-V、PowerPC等
- **优化级别**：支持-O0到-O3、-Os等优化
- **标准支持**：支持C11、C17、C++17、C++20等最新标准
- **插件系统**：支持编译器插件

大多数Linux发行版默认包含C和C++支持，其他语言可能需要单独安装相应的包（如`gfortran`、`gcc-go`等）。