GCC是GNU编译器套件(GNUCompilerCollection)的缩写。它是一个用于编译程序的开放源代码编译器,支持多种编程语言,如C、C++、Objective-C、Fortran等。GCC是一个非常流行的编译器,被广泛用于各种操作系统以及嵌入式系统开发中。GNU编译器套件包括多个编译器和工具,如GCC、GDB(调试器)、Binutils等,提供了一个完整的开发环境。
Ubuntu一般默认自带GCC,在终端输入gcc-v命令查看GCC版本信息,如果没有按提示信息输入命令安装GCC即可。
输入sudoaptinstallgcc命令安装
安装完毕后再次输入gcc-v便可查看版本信息。
二.GCC的基本用法格式:gcc选项编译的源文件指定输出文件名
比如:gcc[options]
其中,gcc是编译器命令,[options]是编译选项,和是要编译的源文件,-ooutput是指定输出文件名。
常用的编译选项包括:
-o:指定输出文件名
-Wall:显示所有警告信息
-g:生成调试信息
-O:优化编译
-std=c99:指定C语言标准
首先我们创建一个文件:
打开vim插入模式编写程序:
#(void){printf("HelloWorld!\n");}按:wq保存退出。
将文件变成可执行文件
运行可执行文件hello
./hello
(./的意思为在当前目录找hello文件并执行)
还可以使用如下命令编译文件并直接生成可执行文件Hello:
如果我们不使用-o参数指定我们生成文件的名称,直接输入编译完会得到一个文件,执行这个的结构和执行hello是一样的。
需要注意的是使用GCC编译器编译出来的可执行文件是X86的,不能再ARM开发板上运行,可以使用file命令来查看文件类型。
filehello三.编译流程
从编译得到hello或者需要经历四个步骤,分别是:
预处理得到的C语言代码
汇编语言文件
目标文件
第一阶段:
预处理阶段,编译器会对头文件或者宏定义进行展开,或者条件编译的选择,我们可以使用-E参数得到预处理文件。
我们进入查看,里面都是变量,函数预处理的结构。
第二阶段:
编译阶段,把文件编译成汇编代码,-S参数得到汇编代码文件。
-S:将文件编译成文件
第三阶段:
-c:可以把文件编译成文件。
第四阶段:
如何在Linux上编写第一个程序HelloWorld-CSDN博客





