以下是GCC在CentOS中的使用技巧:
安装GCC:
sudo yum install gcc gcc-c++ make # 安装基础编译工具链
或通过Devtoolset安装特定版本(如GCC 9):
sudo yum install centos-release-scl
sudo yum install devtoolset-9-gcc*
scl enable devtoolset-9 bash # 临时切换版本
手动编译安装:
下载GCC源码,配置时指定安装路径(如/usr/local/gcc-11.2.0
),并添加环境变量:
export PATH=/usr/local/gcc-11.2.0/bin:$PATH
常用优化选项:
-O2
:平衡优化(推荐默认使用)。-O3
:激进优化(可能增加代码体积)。-march=native
:针对当前CPU架构优化。-flto
:启用链接时优化(LTO)。并行编译:
使用make -j$(nproc)
并行编译,提升多核CPU利用率。
缓存加速:
安装ccache
缓存编译结果,减少重复编译时间:
sudo yum install ccache
export PATH="/usr/lib/ccache:$PATH"
GDB调试:
编译时添加-g
选项生成调试信息,使用GDB设置断点、单步执行:
gcc -g main.c -o main
gdb ./main
多源文件编译:
gcc -c file1.c file2.c
生成目标文件,再链接gcc file1.o file2.o -o program
。gcc file1.c file2.c -o program
(适合小型项目)。环境变量配置:
通过export
临时切换GCC版本或指定库路径,例如:
export CC=/usr/bin/gcc-7 # 临时使用GCC 7
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH # 指定库路径
libm
需-lm
),检查yum
依赖包。rpm -qa | grep gcc
查看已安装版本,用devtoolset
隔离不同版本。chmod +x program
)。-static
选项(如gcc -static main.c -o main
)。__atomic_add_fetch
)实现线程安全。参考来源:[1,2,3,5,6,7,8,9,10,11]