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. 将目标文件链接成可执行文件。在命令行中...