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

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

软件开放1年前 (2023-01-20)836

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

本文目录一览:

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

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

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://zspsrg.cn/post/4760.html

分享给朋友:

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

互站网源码交易平台(站长源码交易平台)

互站网源码交易平台(站长源码交易平台)

本篇文章给大家谈谈互站网源码交易平台,以及站长源码交易平台对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、有哪些比较好的源码网站 2、什么源码交易平台比较好用,可信度比较高? 3、“织梦网”源码交易平台怎么样?和互站网哪个好? 有哪些比较好的源码网站 源码平台有...

木马软件怎么盗取通讯录(木马软件怎么盗取通讯录信息)

木马软件怎么盗取通讯录(木马软件怎么盗取通讯录信息)

本篇文章给大家谈谈木马软件怎么盗取通讯录,以及木马软件怎么盗取通讯录信息对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、手机微信扫描二维码木马病毒,通讯录信息会被盗吗 2、现在骗子通过一个软件能把手机上全部号码盗走吗 3、诈骗软件能获取微信通讯录 4、当心手机...

国外网站新闻软件(国外的新闻软件)

国外网站新闻软件(国外的新闻软件)

今天给各位分享国外网站新闻软件的知识,其中也会对国外的新闻软件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、查看国际新闻用什么软件更好 2、求问!求问!有什么软件可以关注全球新闻,特别是民生新闻,经济等等之类的。谢谢各位了! 3、有什么可以看国外英...

cctv5手机在线直播观看高清回放(cctv5在线直播观看高清手机版)

cctv5手机在线直播观看高清回放(cctv5在线直播观看高清手机版)

本篇文章给大家谈谈cctv5手机在线直播观看高清回放,以及cctv5在线直播观看高清手机版对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、cctv5+手机在线直播观看。为什么会出现排 2、直播CCTV5可以在哪回看? 3、手机可以看cctv5吗 4、cctv5...

如何提取软件里的网址(怎么提取图片里的网址)

如何提取软件里的网址(怎么提取图片里的网址)

今天给各位分享如何提取软件里的网址的知识,其中也会对怎么提取图片里的网址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、如何获取app中的网站? 2、怎样把APP里的网页地址提取到电脑上 3、百度app如何提取网址 4、如何获取app内视频地址...

com域名注册最便宜(便宜的com域名)

com域名注册最便宜(便宜的com域名)

今天给各位分享com域名注册最便宜的知识,其中也会对便宜的com域名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、com域名哪里注册最便宜? 2、求最便宜的cn域名和com域名注册? 3、com域名注册一般去哪里注册比较便宜?有安全可靠的注册商吗...