centos7 gcc使用
时间: 2025-05-11 15:23:34 浏览: 23
### CentOS 7 上 GCC 编译器的安装与使用
#### 安装 GCC 编译器
CentOS 7 默认自带的 GCC 版本较低(如4.8.5),可能无法满足现代开发需求。可以通过以下方式更新至更高版本。
1. **确认当前 GCC 版本**
使用 `gcc -v` 和 `g++ -v` 命令检查现有 GCC 的版本[^2]。
```bash
gcc -v
g++ -v
```
2. **通过 Yum 安装基础编译工具链**
若未安装任何版本的 GCC 或 G++,可通过 Yum 软件包管理器快速安装旧版本的基础工具链。
```bash
sudo yum install -y gcc // 安装 C 编译器
sudo yum install -y gcc-c++ // 安装 C++ 编译器
```
3. **下载并安装高版本 GCC**
若要升级到更高的 GCC 版本(如7.3.0),可按照如下步骤操作:
- 下载目标版本的 GCC 源码文件:
```bash
cd /usr/local/src/
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.gz
tar -xvf gcc-7.3.0.tar.gz
```
- 创建构建目录并配置编译选项:
```bash
mkdir objdir
cd objdir
../gcc-7.3.0/configure --enable-languages=c,c++ --disable-multilib
```
- 开始编译过程(此步耗时较长):
```bash
make -j$(nproc)
```
- 完成安装:
```bash
sudo make install
```
4. **验证新版本是否生效**
更新完成后再次运行 `gcc -v` 查看当前使用的 GCC 是否已切换为目标版本[^3]。
#### 配置 GCC 环境变量
为了确保系统优先调用新安装的 GCC 版本而非默认版本,需调整 PATH 变量顺序或将自定义路径加入其中。
```bash
export PATH=/usr/local/bin:$PATH
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```
#### 示例程序:C/C++ 文件编译流程
假设存在一个简单的 C++ 程序 test.cpp 如下所示:
```cpp
#include <iostream>
int main() {
std::cout << "Hello, world!" << std::endl;
return 0;
}
```
1. **单文件编译**
将上述代码保存为 test.cpp 后,在终端输入以下指令完成编译工作。
```bash
g++ -o test test.cpp
./test
```
2. **多文件项目链接**
对于复杂的工程结构,则需要分别指定各个源文件以及库依赖关系再统一连接起来形成最终可执行二进制文件。
#### 测试 C++17 支持情况
利用下面的小例子来检测所选 GCC 是否开启对 C++17 新特性的兼容模式。
```cpp
#include <string_view>
void func(std::string_view sv) {
std::cout << "String view content: " << sv << '\n';
}
int main(){
const char* cstr = "hello";
func(cstr);
return 0;
}
```
尝试以 `-std=c++17` 参数重新编译该脚本观察其行为表现即可得知答案。
阅读全文
相关推荐


















