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

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

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

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

本文目录一览:

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

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

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

分享给朋友:

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

成都软件开发(成都软件开发公司排名)

成都软件开发(成都软件开发公司排名)

本篇文章给大家谈谈成都软件开发,以及成都软件开发公司排名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、成都软件开发有哪些公司 2、成都教育系统软件开发公司? 3、成都有没有软件开发做得好的公司? 4、成都哪个软件开发培训学校好?要能学到东西的,不包就业也没问...

手机软件开发工具(手机应用开发工具)

手机软件开发工具(手机应用开发工具)

今天给各位分享手机软件开发工具的知识,其中也会对手机应用开发工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、手机写代码用什么软件 2、软件开发平台都有哪些?具体都有哪几种呢? 3、开发app要用什么软件开发 手机写代码用什么软件 常用的写代码软...

app平台搭建需要多少钱(开发app平台需要多少钱)

app平台搭建需要多少钱(开发app平台需要多少钱)

本篇文章给大家谈谈app平台搭建需要多少钱,以及开发app平台需要多少钱对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、做一个app要多少钱? 2、开发一个手机App需要多少钱 3、做个app软件大约多少钱? 4、搭建聊天app要多少钱? 5、建一个app...

梦幻西游藏宝阁手游交易平台(梦幻西游藏宝阁手游交易平台混服)

梦幻西游藏宝阁手游交易平台(梦幻西游藏宝阁手游交易平台混服)

今天给各位分享梦幻西游藏宝阁手游交易平台的知识,其中也会对梦幻西游藏宝阁手游交易平台混服进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、梦幻西游手游有藏宝阁吗 2、梦幻西游藏宝阁在哪里? 3、手游《梦幻》有藏宝阁吗? 4、梦幻西游藏宝阁在哪里...

每天能赚30—50元的游戏不用看广告(一分钟赚50元的游戏不用看广告)

每天能赚30—50元的游戏不用看广告(一分钟赚50元的游戏不用看广告)

今天给各位分享每天能赚30—50元的游戏不用看广告的知识,其中也会对一分钟赚50元的游戏不用看广告进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、真正能赚钱的游戏无广告 2、什么游戏一天赚30元的,求能赚人民币的网络游戏,最好能一天赚30元的 3、一...

酷信源码下载(酷信下载安装)

酷信源码下载(酷信下载安装)

今天给各位分享酷信源码下载的知识,其中也会对酷信下载安装进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、酷信通怎样恢复出厂设置 2、酷信即时通讯软件有什么特点? 酷信通怎样恢复出厂设置 1、先行备手机内的数据 (短信、联系人、下载的应用程序等),然后请...