GCC在CentOS中有哪些常用命令
小樊
41
2025-11-19 18:53:47
GCC在CentOS中的常用命令与用法
一 安装与版本检查
- 安装开发工具组(包含GCC、g++、make等):sudo yum groupinstall “Development Tools”
- 仅安装C/C++编译器:sudo yum install gcc gcc-c++
- 查看版本:gcc –version;g++ –version
- 升级到更高版本(SCL方式,示例为devtoolset-9):
- 安装SCL源:sudo yum install centos-release-scls
- 安装工具链:sudo yum install devtoolset-9-gcc*
- 临时启用:scl enable devtoolset-9 bash
- 永久启用:在**/etc/profile或~/.bashrc**中添加 source /opt/rh/devtoolset-9/enable 后执行 source 使其生效
二 基本编译与运行
- 编译并链接生成可执行文件:gcc hello.c -o hello
- 使用默认输出名(a.out):gcc hello.c;运行:./a.out
- 分步编译理解流程:
- 预处理:gcc -E hello.c -o hello.i
- 汇编:gcc -S hello.i -o hello.s
- 编译为目标文件:gcc -c hello.s -o hello.o
- 链接:gcc hello.o -o hello
- 运行:./hello
三 常用编译选项
- 输出文件:-o output
- 警告:-Wall -Wextra
- 调试信息:-g(配合gdb使用)
- 优化级别:-O0/-O1/-O2/-O3(级别越高优化越强,编译时间更长)
- 仅编译不链接:-c(生成**.o**)
- 头文件与库路径:-I**/path/include**,-L**/path/lib**
- 链接库:-lm(数学库)、-lpthread(线程库)
- 标准版本:-std=c99 / -std=c++11 / -std=c++14 / -std=c++17 / -std=c++20
- 静态链接:-static(生成不依赖外部共享库的可执行文件)
- 定义宏:-DDEBUG 等
四 多文件与库的典型用法
- 多源文件一起编译:gcc main.c helper.c -o app
- 分别编译再链接(增量构建更高效):
- gcc -c main.c -o main.o
- gcc -c helper.c -o helper.o
- gcc main.o helper.o -o app
- 链接数学库:gcc app.c -lm -o app
- 使用头文件和库目录:gcc app.c -I./inc -L./lib -lmylib -o app
- 编译C++程序:g++ hello.cpp -o hello(C++项目优先使用g++)
五 调试与版本管理技巧
- 生成调试信息并用gdb调试:gcc -g hello.c -o hello;gdb ./hello
- 使用SCL管理多个GCC版本(如devtoolset-9),按需临时或永久启用,避免影响系统默认编译器