首页 > 编程知识 正文

ubuntu安装gcc命令,linux命令及说明

时间:2023-05-03 09:43:34 阅读:21295 作者:2601

GCC的意思也只有GNU C Compiler。 经过多年的发展,GCC不仅支持c语言,而且现在还支持Ada语言、c语言、Java语言、Objective C语言、Pascal语言、COBOL语言、支持函数式编程和逻辑编程的Mercury语言等。 此外,GCC不再只是GNU C语言编译器的意思,而是GNU Compiler Collection,也就是GNU编译器家族的意思。 另一方面,要说GCC对OS平台和硬件平台的支持,一言以蔽之,无处不在。 一起理解吧。

1 .简单编译

示例程序如下:

//test.c#includeintmain(void ) ) printf ) ' Helloworld! /n '; 返回0; }

这个程序,一步一步的编译命令如下。

gcc test.c -o test

基本上,上述编译过程分为四个阶段:预处理(也称为预编译、预处理)、编译(assembly )、链接(link )。

1.1预处理

gcc -E test.c -o test.i或gcc -E test.c

可以将预处理了test.c的代码输出到test.i文件中。 打开test.i文件,看一下就知道了。 后面的命令将直接在命令行窗口中输出预处理后的代码。

gcc的-E选项允许编译器在预处理后停止并输出预处理结果。 在本示例中,预处理的结果是将stdio.h文件的内容插入到test.c中。

1.2编译为汇编代码(Compilation )

预处理后,可以直接编译生成的test.i文件以生成程序集代码。

gcc -S test.i -o test.s

gcc的-S选项表示在编译程序期间生成程序集代码后,-o将停止输出程序集代码文件。

1.3装配(Assembly ) )。

对于在上一节中生成的程序集代码文件test.s,gas程序集将编译为目标文件,如下所示:

gcc -c test.s -o test.o

1.4连接(链接) ) )。

gcc连接器由gas提供,用于连接程序的目标文件和所有必需的附件目标文件,并最终生成可执行文件。 附加的目标文件包括静态连接库和动态连接库。

对于上一节中生成的test.o,将其连接到c标准输入输出库,最终生成程序test

gcc test.o -o test

在命令行窗口中,运行。 /test,让我说HelloWorld吧!

2 .编译多个程序文件

整个程序通常由多个源文件组成,相应地形成多个编译单元,通过使用GCC可以正确管理这些编译单元。 假设您有一个由两个源文件: test1.c和test2.c组成的程序。 要编译它们并最终生成可执行程序test,请使用以下命令:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。