简述将源程序编译成可执行程序的过程

简述将源程序编译成可执行程序的过程,第1张

一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。

预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则如下:

1、删除所有的#define,展开所有的宏定义。

2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。

3、处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。

4、删除所有的注释,“//”和“/**/”。

5、保留所有的#pragma 编译器指令,编译器需要用到他们,如:#pragma once 是为了防止有文件被重复引用。

6、添加行号和文件标识,便于编译时编译器产生调试用的行号信息,和编译时产生编译错误或警告是能够显示行号。

扩展资料:

编译过程中语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。

其中,静态语义通常包括:声明和类型的匹配,类型的转换,那么语义分析就会对这些方面进行检查,例如将一个int型赋值给int*型时,语义分析程序会发现这个类型不匹配,编译器就会报错。

步骤如下:

编写设计环境,良好的编程习惯和风格不仅可以使程序代码更易于读懂和修改,更重要的是,它可以使程序的结构更加合理,有助于提高程序的执行效率。

结构设计:也就是对程序的整体框架进行设计,设计出我们需要使用的模块等等,并画出流程图。

用户界面设计:设计出用于与用户交互的输入输出界面。

代码设计:在这个步骤中,我们要进行代码的编写。

调试:对程序中正在发生或可能发生的各种错误进行处理。

维护:对程序进行升级,对原有错误进行修改。

程序执行原理:

程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序。

然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

*** 作方法如下:

*** 作设备:戴尔笔记本电脑

*** 作系统:win10

*** 作程序:keil5

1、先打开KEIL软件。

2、依次点击“project”——“new project”新建一个项目。

3、点开ATMEL选中AT89C51,依次点“确定”——“是” 。

4、点击设置图标,切换到output选项卡。

5、勾选Create HEX FILE。

6、在新d出的界面点击“Add Files to Group Source Group 1”。

7、选中c文件后,点击“Add”。

8、点击编译图标即可 。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11501029.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存