当前位置:首页 > 软件开放 > 正文内容

源代码生成可执行程序过程(编程程序直接生成可执行文件)

软件开放2年前 (2023-01-20)1038

本篇文章给大家谈谈源代码生成可执行程序过程,以及编程程序直接生成可执行文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

把高级语言编写的源程序转换为可执行程序的过程叫什么?

高级语言转换为可执行程序的过程叫编译,主要有以下几个过程:

1、预编译,处理头文件及查错(语法错误);

2、编译,把预处理过的文件编译成目标代码;

3、链接,把所有的目标代码链接成可执行文件。

C语言源程序到运行程序经过哪几个步骤

1、预处理

在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。

根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。

GCC预处理阶段可以生成.i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o hello.i hello.c

2、编译

这一阶段,编译器对源码进行词法分析、语法分析、优化等操作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。

可以通过选项-S使GCC在进行完编译后停止,生成.s的汇编程序。例如:gcc -S -o hello.s hello.c

3、汇编

这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为.o的目标文件中。

当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成.o目标文件后,才能进入下一步的链接工作。

目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o hello.o hello.c

4、链接

经过汇编以后的机器代码还不能直接运行。为了使操作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello hello.c

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

一个源程序(.c)变成可执行(.exe)文件要经过几个步骤?详细一点

以GCC编译器为例,可以分为四步。

第一步是预处理,包括语法检查等工作。

gcc

-P

abc.c

第二步由源程序生产汇编语言代码。

gcc

-S

abc.c

会生成abc.s文件,这个文件里就是汇编代码。

第三步编译器生成目标代码,一个源文件生成一个目标代码。

gcc

-c

abc.c

会生成abc.o

第四步连接器从目标代码生成可执行文件。

目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。

关于源代码生成可执行程序过程和编程程序直接生成可执行文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://bjqlhc.com/post/4760.html

分享给朋友:

“源代码生成可执行程序过程(编程程序直接生成可执行文件)” 的相关文章

做app软件大概多少钱(做app多少钱一个)

做app软件大概多少钱(做app多少钱一个)

今天给各位分享做app软件大概多少钱的知识,其中也会对做app多少钱一个进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、app制作要多少钱? 2、开发一个app需多少钱 3、做个app软件大约多少钱? 4、做一个APP要花多少钱? 5、做一个...

西安软件开发(西安软件开发培训机构)

西安软件开发(西安软件开发培训机构)

今天给各位分享西安软件开发的知识,其中也会对西安软件开发培训机构进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、西安的比较好的软件公司(.net方向),请列举一下 2、在西安软件开发一般工资有多少 3、西安软件公司那么多,我们用的软件却很少见西安开发...

火星直播官网(火星直播官网下载二维码)

火星直播官网(火星直播官网下载二维码)

今天给各位分享火星直播官网的知识,其中也会对火星直播官网下载二维码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、火星直播激活码怎么获得 2、火星直播黑屏 3、投影仪如何下载火星直播 4、电视安装什么软件可以看电视直播 5、电视直播应用程序“...

es文件浏览器怎么看电脑视频(手机es文件浏览器怎么看视频)

es文件浏览器怎么看电脑视频(手机es文件浏览器怎么看视频)

本篇文章给大家谈谈es文件浏览器怎么看电脑视频,以及手机es文件浏览器怎么看视频对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、es文件浏览器 如何连续播放局域网视频? 2、如何在es文件浏览器打开人人视频 3、如何用ES文件浏览器 看电脑里面的文件 4、es...

女生说可遇不可求是什么意思(女生对男生说可遇不可求是什么意思)

女生说可遇不可求是什么意思(女生对男生说可遇不可求是什么意思)

本篇文章给大家谈谈女生说可遇不可求是什么意思,以及女生对男生说可遇不可求是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、你对一个人表白的时候,她和你说“感情的事,是可遇不可求的”是什么意思啊? 2、分手后,女朋友哭着对我说,你是我的可遇不可求,可遇不可留,可...

问道手游聚宝斋官网奇宝斋怎么登陆(问道手游聚宝斋怎么进入)

问道手游聚宝斋官网奇宝斋怎么登陆(问道手游聚宝斋怎么进入)

今天给各位分享问道手游聚宝斋官网奇宝斋怎么登陆的知识,其中也会对问道手游聚宝斋怎么进入进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、怎么在问道手游找收币的人 2、问道奇宝斋我的钱包为什么在登陆页面老是等不进去?我的手机绑定都3个多月了! 3、问道奇...