热门标签 | 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



推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
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社区 版权所有