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

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

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

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

本文目录一览:

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

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

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://muyuzhen.com/post/4760.html

分享给朋友:

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

天津软件开发(天津软件开发成功柚米科技)

天津软件开发(天津软件开发成功柚米科技)

本篇文章给大家谈谈天津软件开发,以及天津软件开发成功柚米科技对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、天津地区哪个软件公司的软件开发能力比较好呢? 2、天津软件公司有哪些? 3、天津比较好的软件开发公司有哪些 4、天津脉铂科技发展是外包公司吗 天津地区...

长沙软件开发(长沙软件开发培训电话)

长沙软件开发(长沙软件开发培训电话)

本篇文章给大家谈谈长沙软件开发,以及长沙软件开发培训电话对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、长沙软件开发工资是多少呀? 2、长沙正宇软件开发有限公司上班怎么样 3、长沙软件开发最好的公司有哪些?? 长沙软件开发工资是多少呀? 长沙软件开发的工资没有沿...

个人介绍ppt模板免费下载素材(个人介绍PPT内容)

个人介绍ppt模板免费下载素材(个人介绍PPT内容)

本篇文章给大家谈谈个人介绍ppt模板免费下载素材,以及个人介绍PPT内容对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、求精美简历 ppt模板 2、哪个网站能不花钱下载PPT模板呢 3、哪个网站可以免费下载到精美的PPT模板 4、ppt模板免费下载 5、下...

我的世界工作室官网源码(我的世界服务器官网源码)

我的世界工作室官网源码(我的世界服务器官网源码)

今天给各位分享我的世界工作室官网源码的知识,其中也会对我的世界服务器官网源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、谁知道我的世界工作室是什么?用来干嘛的?? 2、我的世界如何创建工作室? 3、我的世界如何成立工作室? 4、我的世界工作室...

房顶装修效果图大全(室内装修房顶效果图大全)

房顶装修效果图大全(室内装修房顶效果图大全)

本篇文章给大家谈谈房顶装修效果图大全,以及室内装修房顶效果图大全对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、木结构房顶想要隔热,需要怎样装修? 2、装修效果图怎么做出来?装修风格有哪些 3、楼中楼怎么装修效果图 4、顶楼房顶是尖的,怎么装修? 5、房顶...

谷歌浏览器访问外国网站的扩展(谷歌浏览器可以浏览外国网站吗)

谷歌浏览器访问外国网站的扩展(谷歌浏览器可以浏览外国网站吗)

今天给各位分享谷歌浏览器访问外国网站的扩展的知识,其中也会对谷歌浏览器可以浏览外国网站吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、我的是苹果,有没有什么手机浏览器或者软件是可以在手机浏览国外网页时自动翻译成中文的? 2、谷歌浏览器怎么打开inter...