问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-03-25 16:30

我来回答

6个回答

热心网友 时间:2022-03-25 17:59

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文件,得到运行结果。

热心网友 时间:2022-03-25 19:17

预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改原始的C程序。比如hello.c中第一行的#include<stdio.h>命令告诉预处理器读取系统头文件stdio.h的内容,并把它直接插入程序文本中,结果就得到了另一个C程序,通常是以.i作为文件扩展名。
编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,它包含一个汇编语言程序。汇编语言程序中的每条语句都以一种标准的文本格式确切的描述了一条低级机器语言指令。
汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成一种可重定位目标程序的格式,并将结果保存在目标文件hello.o中。hello.o文件是一个二进制文件,它的字节编码是机器语言指令而不是字符,如果我们在文本文件中打开hello.o文件,看到的将是一堆乱码。
链接阶段:链接器(ld)负责处理合并目标代码,生成一个可执行目标文件,可以被加载到内存中,由系统执行

热心网友 时间:2022-03-25 20:52

C源程序到运行程序步骤:
1.编辑:输入源程序并存盘(.C)
2.编译:将源程序翻译为目标文件(.OBJ)
3.链接:将目标文件生成可执行文件( .EXE)
4.运行:执行.EXE文件,得到运行结果

热心网友 时间:2022-03-25 22:43

C语言经过编译成汇编程序 ,编译得到的汇编语言通过汇编器(assembler)再汇编成可重定位目标程序

热心网友 时间:2022-03-26 00:51

四个步骤
预处理 编译 汇编 链接
详情:http://www.cnblogs.com/pipicfan/archive/2012/07/10/2583910.html

热心网友 时间:2022-03-26 03:16

链接,编译,调试,运行
C语言源程序到运行程序经过哪几个步骤

2、编译 这一阶段,编译器对源码进行词法分析、语法分析、优化等操作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。可以通过选项-S使GCC在进行完编译后停止,生成.s的汇编程序。例如:gcc -S -o hello.s hello.c 3、汇编 这一阶段使用汇编器对汇编代码进行处理,...

单片机汇编程序

单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的变量保留空间。3. 控制汇编后列表文件的格式,包括初始化存储器、汇编条件块、定义全局变量等。4. 规定汇编器可以从中获得宏的库,产生符号化的调试信息。模块控制伪指令包括:NAME,PROGRAM—程序模块的开始,MODULE,LIBRARY—库模块的开始,ENDMOD—当前汇编模块的结束,END—汇编文件的结束等。5…MAIN: MOV SP,#50H MOV DPTR,#TAB;读入字模指针 MOV 30H,DPL; 存起来 ;堆栈低8位 MOV 31H,DPH ;堆栈高8位 MOV 32H,30H;再记录指针,留作移动了多少位的判断 用。 MOV 3H,31H ;3H记录字模数据的高位地址 INC 3H;3H高位地址+5,表示数据有5X25...

一个C程序到完成运行要经过哪几个步骤

C源程序到运行程序步骤:1.编辑:输入源程序并存盘(.C)。2.编译:将源程序翻译为目标文件(.OBJ)。3.链接:将目标文件生成可执行文件( .EXE)。4.运行:执行.EXE文件,得到运行结果。

开发一个c语言程序要经过哪四个步骤

开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

C语言文件的编译与执行的四个阶段并分别描述

C语言程序的执行经历了四个主要阶段:预处理、编译、链接和运行。以下是这四个阶段的详细描述:1. **预处理阶段**:在这个阶段,C语言源代码被预处理器(C Preprocessor, CPP)处理。预处理器会处理所有包含的文件指令(如#include),展开宏定义(如#define),并处理条件编译指令(如#ifdef、#ifndef...

c语言运行程序的步骤是怎样的?

运行C语言程序的步骤如下:1. 编辑源代码:首先,你需要使用文本编辑器(如Notepad++、Sublime Text或Vim等)编写C语言源代码,并将编写好的代码保存为具有.c扩展名的文件。2. 编译源代码:接下来,使用C语言编译器(如GCC或Clang)对.c文件进行编译。编译过程会将源代码转换成机器语言,生成一个名为...

C语言文件的编译与执行的四个阶段并分别描述

汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。目标文件由段组成。通常一个目标文件中至少有两个段:代码段 该段中所包含的主要是程序的指令...

上机操作c语言程序一般经过哪些步骤

调试、运行程序五、如果有错误,再从头开始执行。上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用.c作为后缀,生成源程序文件,如f.c。

开发一个c语言程序要经过哪四个步骤

当着手编写一个C语言程序时,需要遵循四个关键步骤,确保从源代码到可执行文件的顺利进行。以下是详细的步骤:首先,预处理阶段是程序开发的基础,你需要创建一个源代码文件(如test.c),并可能引用相关头文件,如stdio.h。预处理器cpp将这些源文件转化为预处理文件(.i),消除宏定义,并整合所有包含...

如何将编写好的C语言源程序变成可执行文件EXE?

第一步是预处理,包括语法检查等工作。gcc -P abc.c 第二步由源程序生产汇编语言代码。gcc -S abc.c 会生成abc.s文件,这个文件里就是汇编代码。第三步编译器生成目标代码,一个源文件生成一个目标代码。gcc -c abc.c 会生成abc.o 第四步连接器从目标代码生成可执行文件。gcc abc.o 目标...

编写好c语言源程序后如何进行编译和运行

编写好C语言源程序后,需要按照以下步骤进行编译和运行:1. 保存源代码文件,确保文件扩展名为“.c”。2. 使用C语言编译器将源代码文件编译成目标文件。在命令行中输入“gcc 源文件名.c -o 目标文件名”即可进行编译。如果编译成功,将生成一个目标文件。3. 将目标文件链接成可执行文件。在命令行中...

每个c语言源程序必须有一个 一个c语言的源程序中 一个c语言的源程序中必须有 c语言源程序从什么开始执行 C语言源程序 C语言源程序是什么 C语言源程序通常由 C语言源程序的基本单位 一个C语言程序是由
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
睡薏 睡着以后动不了。想喊又喊不出来。还能看到一些奇怪的事情。_百度... ...不了,呼吸困难好像有人压着自己似的这是怎么回事? ...做梦,不过我当时觉得我神智很清晰,我感觉呼吸困难,身体不能动,根本... 肯帝亚实木地板怎么样肯帝亚地板特点 怎么打开华为p40的设备信息 华为p40怎么打开无障碍服务? 佳能IR-2018怎么查已打印量和剩余打印量,谢谢! 梦见在别人地里检红薯而且又吃了点,还问己故的老娘要不要是什么证兆... 在二进制中位权是什么 在二进制中位权 揭秘为何说宁在坟头过夜 不从空宅老屋过 简述开发一个c语言程序的步骤是什么样的? C语言程序开发的四个步骤是什么 简述开发一个c语言程序的步骤 [C语言] 运行C程序的步骤? c语言程序开发步骤是什么? C语言源程序开发的第一步是什么? 荣耀8反向充电怎么修 华为手机连接OTG后选择数据传输却自动跳转反向充电咋办? 华为荣耀8,手机插上U盘,usb连结方式,默认是反向充电。 华为荣耀8反向充电,usb断开连接 手机为什么突然总是莫名的显示反向充电 华为荣耀9X的插上优盘怎么总是反向充电啊!选别的也选不了,怎么解决啊! 华为荣耀8无法读取U盘,选择数据传输后自动跳到反充电。 华为荣耀8在没有充电的情况下显示反向充电 华为荣耀8反向充电怎么关闭? 华为插usb总是跳到反向充电 荣耀8手机总是提示反向充电怎么解决 华为v8手机总是弹出反向充电,设置成仅充电后,又还是跳到反向充电哪项? 华为荣耀8出现反向充电怎么关闭啊 华为荣耀8突然出现反向充电怎么也关不掉怎么办? 一个 c 语言应用程序上机过程一般要经过哪几个步骤 C语言程序主要的实现过程是什么? C语言程序的调试和步骤 C语言程序的运行步骤 用C语言编写程序? 编写一个c语言程序直到运行,经过几个步骤?请描述每一步生成的文件类型. 微信注销如何跳过60天 微信注销怎么样跳过60天 不用等60天注销微信的办法 立刻注销微信+不用60天 注销需要多久啊?里面说60天,需要那么久吗? 微信注销一定要60天吗 微信注销如何跳过60天?微信客服电话是多少? 微信注销为什么我的15天就可以,别人的说要60天 微信注销60天期限可以缩短么 微信60天才能注销,我想立刻注销,求帮忙?两周后不能注销微信是怎么回事? 微信申请注销后不是有个60天的反悔期嘛,那60天的反悔期过后要怎么知道微信到底有没有完全注销呢? iphone打电话可以录屏吗 苹果手机接电话怎么录屏 苹果11录屏能录通话记录吗?