热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux脚本怎么编译器,如何在Ubuntu18.04上安装GCC编译器

GNU编译器集合(GCC)是C,C,Objective-C,Fortran,Ada,Go和D编程语言的编译器和

GNU编译器集合(GCC)是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。许多开源项目包括GNU工具和Linux内核都是用GCC编译的。

本教程介绍了在Ubuntu 18.04上安装GCC编译器所需的步骤。我们将向您展示如何安装发行版稳定版和最新版本的GCC。

相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS。

必要条件

为了能够在Ubuntu系统上添加新存储库和安装软件包,您必须以具有sudo权限的用户身份登录。

在Ubuntu上安装GCC

默认的Ubuntu存储库包含一个名为build-essential的元包,它包含GCC编译器以及编译软件所需的许多库和其他实用程序。

执行以下步骤安装GCC Compiler Ubuntu 18.04:

01、首先更新包列表:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt update

0124687af2b48e33ef6de67829b8dc79.png

02、键入以下命令安装build-essential软件包:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install build-essential

该命令将安装一堆新包,包括gcc,g ++和make。

03、要验证GCC编译器是否已成功安装,请使用gcc --version命令打印GCC版本:

linuxidc@linuxidc:~/www.linuxidc.com$ gcc --version

Ubuntu 18.04存储库中可用的默认GCC版本是7.4.0:

输出

gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

3676e8a8d403d41b88812dcfceda83d9.png

就这样。 GCC现已安装在您的系统上,您可以开始使用它。

编译Hello World示例

使用GCC编译基本的C或C ++程序非常简单。 打开文本编辑器并创建以下文件:

linuxidc@linuxidc:~/www.linuxidc.com$ nano hello.c

hello.c

#include

int main()

{

printf ("Hello World!\n");

return 0;

}

53d2730a757e310b4d116d2ce7398dcd.png

使用以下命令保存文件并将其编译为可执行文件:

linuxidc@linuxidc:~/www.linuxidc.com$ gcc hello.c -o hello

这将在运行该命令的同一目录中创建名为hello的二进制文件。

执行hello程序:

linuxidc@linuxidc:~/www.linuxidc.com$ ./hello

该程序将显示:

输出:

Hello World!www.linuxidc.com

如下图:

7b7e083f33952f1e77017144c16cc57e.png

安装多个GCC版本

在本节中,我们将提供有关如何在Ubuntu 18.04上安装和使用多个版本的GCC的说明。 较新版本的GCC编译器包括对新语言的支持,更好的性能和扩展功能。

在撰写本文时,默认的Ubuntu存储库包括几个GCC版本,从5.x.x到8.x.x. 最新版本的GCC是9.1.0,可从Ubuntu Toolchain PPA获得。

在以下示例中,我们将安装最新的三个版本的GCC和G++。

首先,使用以下命令将ubuntu-toolchain-r/test PPA添加到您的系统:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install software-properties-common

4feec0557ff69ef5f3b7f3196daf6f4e.png

linuxidc@linuxidc:~/www.linuxidc.com$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

9b97c3723290afa56e2a339a4ebf842e.png

键入以下命令安装所需的GCC和G ++版本:

linuxidc@linuxidc:~/www.linuxidc.com$  sudo apt install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9

39fff7bb12f2e29644551252aa9ab40c.png

以下命令将为每个版本配置替代方案并将优先级与其关联。 默认版本是具有最高优先级的版本,在我们的例子中是gcc-9。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7

87d3c9f854fae18b63071eeb9ef6ad33.png

稍后如果要更改默认版本,请使用update-alternatives命令:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-alternatives --config gcc

输出:

有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

选择      路径          优先级  状态

------------------------------------------------------------

* 0            /usr/bin/gcc-9  90        自动模式

1            /usr/bin/gcc-7  70        手动模式

2            /usr/bin/gcc-8  80        手动模式

3            /usr/bin/gcc-9  90        手动模式

要维持当前值[*]请按,或者键入选择的编号:

b8b4aacbf3b115f01176676a197e3d1a.png

您将看到Ubuntu系统上所有已安装GCC版本的列表。 输入要用作默认版本的版本号,然后按Enter键。

该命令将创建指向GCC和G++特定版本的符号链接。

总结

您已在Ubuntu 18.04上成功安装了GCC。 您现在可以访问GCC官方文档页面,了解如何使用GCC和G++编译C和C ++程序。

0b1331709591d260c1c78e86d0c51c18.png



推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
author-avatar
我所信仰的感觉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有