GNU Compiler Collection (GCC) 是一个开源的编译器套件,支持多种编程语言
参考资料
GCC 简介
GNU Compiler Collection (GCC) 是一个开源的编译器套件,支持多种编程语言(如 C、C++、Fortran、Ada 等)和多种硬件架构。GCC 由 GNU 项目开发,是自由软件基金会(FSF)的重要项目之一。
特点
多语言支持:支持 C、C++、Fortran、Ada、Go、D 等。
跨平台:可在多种操作系统(Linux、Windows、macOS 等)和架构(x86、ARM、RISC-V 等)上运行。
优化能力强:提供多种优化选项,生成高效的机器代码。
开源自由:遵循 GPL 许可证,可自由使用和修改。
插件支持:允许通过插件扩展功能。
最新更新内容及时间
最新版本:GCC 13.2(截至 2023 年 10 月)
发布时间:2023 年 7 月 19 日
主要更新:
改进 C++23 支持。
新增对 ARMv9-A 架构的支持。
优化代码生成和性能。
镜像下载地址
官网地址
文档地址
Docker 安装示例
# 拉取 GCC 官方镜像 docker pull gcc # 运行 GCC 容器并编译代码 docker run -it --rm -v $(pwd):/usr/src/app -w /usr/src/app gcc gcc -o hello hello.c
YAML 设置教程(以 .yaml
配置为例)
# 示例:配置 GCC 编译选项 build: compiler: gcc flags: -O2 -Wall -Wextra sources: - main.c - utils.c output: my_program
常用错误及问题
undefined reference to 'main'
原因:缺少
main
函数或未正确链接。解决:确保程序包含
main
函数,检查链接命令。fatal error: stdio.h: No such file or directory
原因:缺少标准库头文件。
解决:安装开发工具包(如
build-essential
on Ubuntu)。error: incompatible types
原因:类型不匹配。
解决:检查变量和函数声明是否一致。
warning: implicit declaration of function
原因:函数未声明或未包含头文件。
解决:添加正确的头文件或函数原型。
segmentation fault (core dumped)
原因:内存访问越界。
解决:使用调试工具(如
gdb
)定位问题。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。