首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >gcc 与 g++:有什么区别?

gcc 与 g++:有什么区别?

作者头像
C语言中文社区
发布2025-07-26 10:52:55
发布2025-07-26 10:52:55
22400
代码可运行
举报
文章被收录于专栏:C语言中文社区C语言中文社区
运行总次数:0
代码可运行

你有没有想过GCC和G++之间的区别?

用一句话来解释,那就是“GCC 用于编译 C 程序,而 G++ 用于编译 C++”。

本文咱们就详细介绍一下两者区别。

GCC 和 G++ 有什么区别?

GCC编译器用于编译C程序,而G++用于编译C++程序。虽然您仍然可以使用 GCC 来编译 C++ 程序(通过按gcc -xc++ -lstdc++ -shared-libgcc格式使用它,g++ 提供了更简单的语法。

实际上,GCC是各种编译器的超集,它有用于 C++ 的 g++ 和用于的 GNAT 。

虽然 gcc 能够在特殊标志的帮助下编译 C++ 程序,但最好还是使用 g++。g++ 编译器默认链接到标准 C++ 库,GCC 也可以这样做,但默认情况下不行。

📋 总结一下,GCC用于编译C程序,g++用于C++。

现在,我们来看看安装情况。

安装

作为在 Linux 中编译 C 和 C++ 程序最重要的工具之一,它们都可以在所有 Linux 发行版的存储库中找到。

以下是在各种 Linux 发行版上安装它的方法:

对于 Ubuntu/Debian:

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt install gcc g++

对于 Fedora/RHEL:

代码语言:javascript
代码运行次数:0
运行
复制
sudo dnf instal gcc g++

对于 Arch Linux:

代码语言:javascript
代码运行次数:0
运行
复制
sudo pacman -S gcc

(Arch 在 GCC 包本身中包含了 G++)

用法

在本节中,我将介绍如何使用 GCC 和 G++ 编译 C 和 C++ 程序。

为了使本指南易于理解,我将使用以下 C 编程代码:

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

这是 C++ 代码:

代码语言:javascript
代码运行次数:0
运行
复制
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

他们都应该打印一条简单的Hello, World!字符串。

编译并运行C代码

要编译 C 程序,可以使用 gcc 或 g++,如果您想使用 gcc,则需要遵循以下语法:

代码语言:javascript
代码运行次数:0
运行
复制
gcc -o my_program my_program.c

参数:

  • -o用于指定输出文件
  • my_program是您指定输出文件名称的位置
  • my_program.c是附加输入文件名称的位置

例如,以下是我hello.c使用 GCC 编译器编译文件的方式:

代码语言:javascript
代码运行次数:0
运行
复制
gcc -o hello hello.c

要执行任何已编译的文件,请./在已编译文件的名称前添加:

代码语言:javascript
代码运行次数:0
运行
复制
./hello

编译并运行C程序

同样,如果要使用G++编译C程序,请使用以下命令:

代码语言:javascript
代码运行次数:0
运行
复制
g++ -o cpp_program cpp_program.c

以下是我如何使用 G++ 编译并运行相同的hello.c程序:

在Linux中使用G++编译并运行C程序

&&运算符用于运行多个命令,但会先执行编译代码,然后再执行。

编译并运行C++代码

要编译 C++ 代码,您必须按以下方式使用 G++ 编译器:

代码语言:javascript
代码运行次数:0
运行
复制
g++ -o my_code my_code.cpp

完成后,您可以使用可执行文件运行代码:

代码语言:javascript
代码运行次数:0
运行
复制
./my_code

例如,以下是我hello.cpp使用 G++ 编译器编译文件的方式:

代码语言:javascript
代码运行次数:0
运行
复制
g++ -o hello hello.cpp && ./hello

在 Linux 中使用 G++ 编译并运行 C++ 代码

代码语言:javascript
代码运行次数:0
运行
复制
版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GCC 和 G++ 有什么区别?
  • 安装
  • 用法
    • 编译并运行C代码
    • 编译并运行C++代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档