Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux GCC

Linux GCC

在Linux中,GCC代表 GNU编译器集合。它是用于各种编程语言的编译器系统。它主要用于编译C和C ++程序。它以源程序的名称作为必需的参数。其余参数是可选的,例如调试,警告,目标文件和链接库。
GCC是GNU工具链的核心组件。使用GCC可以编译各种开源项目,例如Linux内核和GNU工具。
它是根据GPL(通用公共许可证)发行的。第一个版本 GCC 1.0 于1987年发布。它仅用于C编程语言,但在同一年,它又扩展了 C ++编程语言。后来,它被开发用于其他编程语言,例如Objective-C,Objective-C ++,Fortran, Java ,Ada,开始等等。它的最新版本具有大大改进的编程语言实现。
它是GNU OS的官方合作伙伴;它是GNU OS的官方合作伙伴。因此,它已被用作基于Linux的系统的标准编译器。

GCC的组件

GCC是可移植的工具,可以在许多操作系统上运行操作系统。另外,可以使用 Cygwin,MinGW和MinGW-W64 之类的工具将其移植到 Windows 。由于它是GNU工具链的关键组件,因此包含以下用于开发应用程序和操作系统的组件:
GNU编译器集合(GCC): 语言,例如C/C ++和Objective-C/C ++。
GNU Make: 这是一个用于编译和构建应用程序的自动化工具。
GNU Binutils: 这是一个包含二进制实用程序工具的套件,例如链接器和汇编器。
GNU调试器(GDB)。用于调试应用程序。
GNU Autotools: 这是一个构建系统,其中包含一些实用工具,例如Autoconf, Autoheader,Automake和Libtool。
GNU Bison: 它是作为lex和yacc的解析器生成器。

GCC编译器进程

GCC可以通过以下四个步骤来编译程序并使之成为可执行程序:
预处理: : 在此步骤中,GNU预处理程序(cpp.exe)创建一个包含源代码的中间文件。预处理器包括标题(#include)并扩展宏(#define)。考虑以下命令:
cpp hello.c > hello.i
上面的命令将创建一个中间文件'hello.i。
编译: 在此步骤中,将预处理的源代码编译为以下代码的汇编代码: 特定的处理器。
gcc-S hello.i
以上命令将创建一个汇编文件" hello.s"。 "-s"选项用于指定生成汇编代码而不是目标代码。
汇编: 汇编代码被转换为机器代码。它将创建一个目标文件" hello.o"。
as-o hello.o hello.s
链接器: : 链接器(ld.exe)是编译器过程的最后一步。它将目标代码与库代码链接在一起,并生成一个可执行文件。
ld-o hello.exe hello.o
上面的命令将创建一个可执行文件'hello.exe。

在Linux上安装GCC

默认情况下,它附带的内容最多Linux发行版。我们可以通过执行以下命令来验证它:
gcc-version
上面的命令将显示GCC工具的已安装版本。如果尚未安装,请按照以下步骤进行安装:
步骤1: 更新软件包列表。
要更新软件包列表,请执行以下命令:
sudo apt update
它将询问系统管理密码,输入密码。它将开始更新系统软件包。考虑以下输出快照:
GCC Linux
第二步: 安装基本构建软件包。
它包含各种软件包,例如gcc,g ++和make实用程序。执行以下命令进行安装:
sudo apt install build-essential
以上命令将为GCC实用程序安装所需的软件包。现在,我们可以在机器中使用GCC实用程序了。考虑以下输出快照:
GCC Linux
第3步: 验证安装。
要验证安装,请执行gcc-version命令,如下所示:
gcc--version
它将显示GCC实用程序的已安装版本。要显示有关该版本的更多详细信息,请使用"-v"选项。考虑以下输出:
GCC Linux
在这里,我们已经成功安装了GCC实用程序。让我们来理解使用它。我们将使用GCC创建和执行一些c程序。

通过gcc运行第一个C程序

创建一个基本的 c程序"世界您好!"。创建一个文件" hello.c",并在其中添加以下代码:
#include <stdio.h>
int main() {
    printf("Hello, world!\n");
    return 0;
}
现在,按如下所示编译hello.c:
gcc hello.c
如果我们直接运行hello.c,它将引发错误。将其设置为可执行文件,Linux系统的默认可执行文件为a.out。要执行文件,请执行chmod命令,如下所示:
chmod a+x a.out
现在,以以下方式运行c程序:
./a.out
考虑以下输出:
GCC Linux

GCC命令示例

gcc命令的一些有用示例如下:
指定目标文件名
默认情况下,gcc命令将目标文件创建为'a.out "。如果要更改默认输出文件名,请使用'-o'选项。
让我们执行基本的gcc命令:
gcc hello.c
上面的命令将生成目标文件" a.out"。要指定目标文件名,请执行以下命令:
gcc hello.c-o hello
它将生成输出文件" hello"。考虑以下输出:
GCC Linux 启用所有警告
要在输出中启用所有警告,请在gcc命令中使用'-Wall'选项。让我们在hello.c的主要函数中创建一个变量。考虑以下代码:
hello.c:
#include <stdio.h>
int main() {
int a;
    printf("Hello, world!\n");
    return 0;
}
如果我们使用-Wall选项编译以上代码。它将引发警告。执行以下命令来编译文件:
gcc-wall hello.c
以上命令将显示警告。考虑以下输出:
GCC Linux 生成编译过程的逐步输出
我们只能产生编译过程的逐步输出。
产生预处理器输出
我们只能产生预处理使用'-E'选项输出。考虑以下命令:
gcc-E hello.c > hello.i
通过上述命令,将生成包含预处理输出的文件'hello.i'。考虑以下输出:
GCC Linux
产生汇编代码
要生成汇编代码,请使用"-S"选项执行命令。考虑以下命令:
gcc-S hello.c > hello.s
以上命令将生成" hello.s"。包含汇编代码的文件。考虑以下输出:
GCC Linux
产生已编译的代码
我们只能使用'-C'选项生成编译后的代码。考虑以下命令:
gcc-C hello.c
上面的命令将生成文件" a.out",仅包含机器代码或编译后的代码。考虑以下输出:
GCC Linux
产生编译过程的所有中间文件
我们可以使用"-save-temp"选项来生成编译过程的所有中间文件。考虑以下输出:
gcc-save-temps hello.c
上面的命令将立即生成所有中间文件和可执行文件。考虑以下输出:
GCC Linux 详细打印输出。
我们可以显示gcc命令采取的每一个步骤的详细信息。为此,请使用"-v"选项执行命令。
gcc-W-v hello.c
考虑以下输出快照:
GCC Linux
我们已经讨论了一些最有用的示例gcc命令。由于gcc命令提供了大量选项,因此您在使用它时可能会卡在任何地方。让我们看看如何从终端上自己获得帮助。

GCC手册

如果在使用gcc命令时遇到困难,可以从您的帮助中获取帮助。终端。要从命令行访问手册,请执行以下man命令:
man gcc
上面的命令将显示手册,其中包含说明以及所支持选项的列表以及简短说明。考虑以下输出快照:
GCC Linux
您可以滚动输出以了解更多信息。按下" h"键寻求帮助,然后按q退出手册并返回终端。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4