源码先锋

源码先锋

如何在 Linux上编写第一个程序 Hello World

admin 150 131
一.使用GCC编译器

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博客