键入gcc main.c – Ekaterina Kalache –中会发生什么

键入gcc main.c会发生什么

gcc是一个进行预处理,编译,汇编和链接的编译器。

让我们更仔细地研究这些过程。

让我们在名为main.c的文件中编写一个简单的C程序(必须具有.c扩展名才能执行C程序)。

并在其中编写我们的代码。

保存文件并返回提示后,我们需要t0编译文件,以便可以执行它。 我们使用命令gcc和文件名。

这将开始编译过程,我们可以分为以下步骤:

1,预处理

预处理程序将删除注释(/ *此处的文本将被预处理程序* /删除)。 它还将包含来自标头(#include )的库。 它将用代码替换宏名称。 现在我们的文件进入编译器。

2.编译

编译器将生成一个汇编代码,并将我们的代码转换为汇编语言。 现在可以将其传递给汇编器。

3.组装

汇编程序会将代码转换为二进制代码,该二进制代码将仅包含1和0,因此计算机可以理解它。 现在,我们的代码已准备好传递给链接器。

4.链接器

链接器会将我们的代码与代码运行所需的库链接,并将所有内容打包到单个可执行文件中。 通过运行“ gcc main.c”命令后列出文件,我们可以看到它。

在我们gcc-ed main.c之前

在我们gcc-ed main.c之后

现在,我们有了名为a.out的可执行文件 这是一个默认文件,如果我们不指定应将可执行代码放入的文件,则会创建该文件。

最后,我们可以继续执行代码。

我们还可以决定创建一个可执行文件,并使用– o选项将其命名为所需的任何名称,后跟所需的文件名,例如helloC。 在这种情况下,所有内容都将打包到可执行文件helloC中。