温馨提示×

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),按需临时或永久启用,避免影响系统默认编译器

0