Ubuntu下如何安装和使用gcc/g++编译器?详细教程来了

 更新时间:2026年09月29日 10:59:42   作者:人才程序员  
想知道如何在Ubuntu上安装和使用gcc/g++编译器吗?本文详细介绍了gcc和g++的特点、安装步骤、编译运行C/C++程序的方法,以及常用的编译选项如-c、-o、-Wall等,帮助你快速掌握Linux下的编译工具,提高开发效率

一、gcc 和 g++介绍

GCC(GNU Compiler Collection)是由GNU项目开发的一套广泛使用的开源编译器集合。它支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和其他语言。GCC是一个强大而灵活的编译器,被广泛用于开发各种应用程序、库和操作系统。

G++是GCC编译器中用于编译C++程序的前端工具。它支持C++11、C++14、C++17等不同版本的C++标准,并提供了对C++特性的广泛支持。G++通过将C++源代码编译为可执行文件来转换C++程序。

它可以处理包括类、继承、多态性、模板等在内的C++语言特性,并提供了对标准库的支持。

以下是GCC和G++的一些特点和功能:

  • 跨平台: GCC和G++可在多个操作系统上运行,包括Linux、Windows、macOS等。它们提供了平台无关的编译能力。
  • 优化能力: GCC和G++提供了多种优化选项,以提高生成的可执行文件的性能。这些选项可以根据目标平台、应用程序需求和开发人员的偏好进行配置。
  • 多语言支持:除了C和C++,GCC还支持其他编程语言,如Objective-C、Fortran、Ada等。这使得GCC成为开发多种语言应用的综合解决方案。
  • 标准兼容性: GCC和G++严格遵循相关编程语言的标准规范,并不断更新以适应新的语言标准。
  • 插件系统: GCC提供了一个灵活的插件系统,允许开发人员编写自定义的编译器插件,以扩展和定制编译器的功能。
  • 调试支持: GCC和G++可以生成符号表,以支持源代码级别的调试。它们集成了调试器(如GDB),允许开发人员在调试过程中检查程序的状态和执行。
  • 开源: GCC和G++是开源软件,遵循GNU通用公共许可证(GPL)。这意味着开发人员可以自由访问、使用和修改这些编译器,以满足自己的需求。

总之,GCC和G++是功能强大的编译器工具,广泛用于编译、构建和优化各种编程语言的应用程序和库。无论是开发小型项目还是庞大复杂的软件,它们都提供了丰富的功能和灵活性,使开发人员能够高效地进行软件开发。

二、ubuntu安装gcc和g++

1.安装GCC和G++

sudo apt update
sudo apt install build-essential

回车运行等待即可。

2.验证安装

安装完成后,输入以下命令验证GCC和G++的安装是否成功:

gcc --version
g++ --version

我这里的gcc和g++是11.3.0版本的,大家安装到其他版本也没有问题。

3.编译和运行C程序

代码如下

#include <stdio.h>

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

使用下面编译命令编译

gcc main.c -o main

编译完成后使用下面的命令运行:

./main

终端将显示"Hello, GCC!",这证明您的程序已成功编译和运行。

4.编译和运行C++程序

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, G++!" << endl;
    return 0;
}

编译:

g++ hello.cpp -o hello

运行:

./hello

终端将显示"Hello, G++!",这证明您的C++程序已成功编译和运行。

三、gcc和g++的选项

GCC和G++提供了许多选项,可用于控制编译和链接过程。

1.使用-c选项只进行编译,不进行链接:

gcc -c source.c   // 编译source.c文件,生成目标文件source.o

2.使用-o选项指定输出文件名:

gcc source.c -o output   // 编译source.c文件,并将输出文件命名为output

3.使用-Wall选项启用所有警告信息:

gcc -Wall source.c   // 编译source.c文件,并启用所有警告信息

4.使用-g选项启用调试信息:

gcc -g source.c   // 编译source.c文件,并生成带调试信息的可执行文件

5.使用-I选项指定包含文件的目录:

gcc -I include source.c   // 编译source.c文件时,在include目录中查找包含文件

6.使用-L选项指定库文件的目录:

gcc -L /path/to/lib source.c -o output   // 编译source.c文件时,在指定目录中查找库文件

总结

通过本文的指南,您已经学会在Ubuntu系统上安装和使用GCC和G++编译器。

您可以编译和运行C和C++程序,控制编译过程的选项,以及深入了解GCC和G++提供的更多功能和工具。

GCC和G++是强大而灵活的编译器,将帮助您开发和调试高质量的C和**C++**程序。现在您可以开始探索更复杂的项目,并通过编译器的强大功能提高您的开发效率。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • IO多路复用之epoll全面总结(必看篇)

    IO多路复用之epoll全面总结(必看篇)

    下面小编就为大家带来一篇IO多路复用之epoll全面总结(必看篇)。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux 服务器安装gcc8的问题记录

    linux 服务器安装gcc8的问题记录

    我原本安装了gcc13.0版本,但是版本太高了,导致我安装cuda报错gcc版本太高,所以就安装低版本的gcc,下面通过本文给大家分享linux 服务器安装gcc8的问题记录,感兴趣的朋友一起看看吧
    2024-07-07
  • Linux下如何查看版本信息的方法步骤

    Linux下如何查看版本信息的方法步骤

    这篇文章主要介绍了Linux下如何查看版本信息的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解CentOS 7 网卡命名修改为eth0格式

    详解CentOS 7 网卡命名修改为eth0格式

    这篇文章主要介绍了详解CentOS 7 网卡命名修改为eth0格式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • linux下查看已经安装的jdk 并卸载jdk的方法(推荐)

    linux下查看已经安装的jdk 并卸载jdk的方法(推荐)

    下面小编就为大家带来一篇linux下查看已经安装的jdk 并卸载jdk的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 解决linux远程拷贝报错not a regular file问题

    解决linux远程拷贝报错not a regular file问题

    这篇文章主要介绍了解决linux远程拷贝报错not a regular file问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Linux运维基础系统磁盘管理教程

    Linux运维基础系统磁盘管理教程

    这篇文章主要介绍了Linux运维基础系统磁盘管理教程,附含详细的源码示例,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家同学习共进步
    2021-09-09
  • ubuntu系统下apache配置虚拟主机及反向代理详解

    ubuntu系统下apache配置虚拟主机及反向代理详解

    这篇文章主要介绍了ubuntu系统下apache配置虚拟主机及反向代理的相关资料,文中通过实例给大家演示的非常详细,对大家具有一定的参考学习价值,需要的朋友们下来一起学习学习吧。
    2017-06-06
  • Linux如何更改echo的输出颜色

    Linux如何更改echo的输出颜色

    本文介绍了在Linux命令行中使用echo命令更改输出文字颜色的方法,包括定义颜色变量、设置显示方式、前景色和背景色,并通过示例展示字体高亮、下划线、闪烁等特效
    2025-10-10
  • Linux修改文件句柄数方式及vm.max_map_count、stack size的大小

    Linux修改文件句柄数方式及vm.max_map_count、stack size的大小

    修改/etc/security/limits.conf文件可以调整Linux系统的文件句柄数、进程数等资源限制,需注意的是,对该文件的更改需要重新登录系统才能生效,如需临时修改,可以使用命令直接设置;永久修改则需编辑配置文件,设置nofile的最大值不应超过1048576
    2024-10-10

最新评论