如何将编写好的C语言源程序变成可执行文件EXE?

如何将编写好的C语言源程序变成可执行文件EXE?,第1张

以GCC编译器为例,可以分为四步。\x0d\x0a第一步是预处理,包括语法检查等工作。\x0d\x0agcc -P abc.c\x0d\x0a第二步由源程序生产汇编语言代码。\x0d\x0agcc -S abc.c \x0d\x0a会生成abc.s文件,这个文件里就是汇编代码。\x0d\x0a第三步编译器生成目标代码,一个源文件生成一个目标代码。\x0d\x0agcc -c abc.c\x0d\x0a会生成abc.o\x0d\x0a第四步连接器从目标代码生成可执行文件。\x0d\x0agcc abc.o\x0d\x0a\x0d\x0a目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。

开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。

C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。

1、预处理:输入源程序并保存(.C文件)。

2、编译:将源程序翻译为目标文件(.OBJ文件)。

3、链接:将目标文件生成可执行文件(.EXE文件)。

4、运行:执行.EXE文件,得到运行结果。

扩展资料:

C语言代码变为程序的几个阶段:

1、首先是源代码文件test.c和相关的头文件,如stdio.h等被预处理器cpp预处理成一个.i文件。经过预编译后的.i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到.i文件中。

2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。

3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“a.out”,即最终的可执行文件。

4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。

参考资料来源:百度百科-c语言


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11740203.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存