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

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

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

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

本文目录一览:

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

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

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

分享给朋友:

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

网站建设方案(网站建设方案书范文)

网站建设方案(网站建设方案书范文)

本篇文章给大家谈谈网站建设方案,以及网站建设方案书范文对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、网站建设的方案包括有哪些内容? 2、网站建设方案都包括什么? 3、网站建设规划书 4、网站建设方案需要考虑到哪些方面? 5、企业网站建设规划方案怎么写?...

码上放心追溯码用什么扫(码上放心追溯码什么意思)

码上放心追溯码用什么扫(码上放心追溯码什么意思)

本篇文章给大家谈谈码上放心追溯码用什么扫,以及码上放心追溯码什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、药品追溯码为什么印淘宝扫一扫? 2、码上放心的二维码可以手动输入扫码枪吗 3、码上放心子类监管码在那里查 药品追溯码为什么印淘宝扫一扫? 亲,很高...

国家中小学资源教育平台课程网盘(国家中小学课程资源百度云)

国家中小学资源教育平台课程网盘(国家中小学课程资源百度云)

本篇文章给大家谈谈国家中小学资源教育平台课程网盘,以及国家中小学课程资源百度云对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、国家中小学教育云平台里面的免费课程数学怎么没有青岛版的呀 2、中小学生网络云平台学生资源在哪 3、国家教育资源平台怎么下载视频 国家中小...

交易猫怎么卖梦幻西游手游(交易猫怎么卖梦幻西游手游账号)

交易猫怎么卖梦幻西游手游(交易猫怎么卖梦幻西游手游账号)

本篇文章给大家谈谈交易猫怎么卖梦幻西游手游,以及交易猫怎么卖梦幻西游手游账号对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、网易梦幻西游手游手机账号应该怎么出售啊?在交易猫交易因为是手机账号,交易失败了 2、梦幻西游手游在哪卖号 3、梦幻西游手游死绑号哪里买...

python网站开发模板(python 网站框架)

python网站开发模板(python 网站框架)

本篇文章给大家谈谈python网站开发模板,以及python 网站框架对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、python web开发 该用什么框架 2、使用python创建web静态网站 3、怎么用python简单的制作一个网页 4、Python 有...

苹果登录ID时安全码(登陆苹果id安全码是啥)

苹果登录ID时安全码(登陆苹果id安全码是啥)

本篇文章给大家谈谈苹果登录ID时安全码,以及登陆苹果id安全码是啥对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、使用苹果id但是已经不用苹果手机了安全码怎么写 2、请问,注册苹果id安全码是什么 3、在苹果手机中银行卡的安全码是什么意思? 使用苹果id但是已经...