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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述将源程序编译成可执行程序的过程相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

扩展资料:

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

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

参考技术A 编好的代码(源代码)经过编译,链接,生成可执行的文件,然后就可以执行。即编辑的代码要最重生成可执行的程序(可执行的文件),需要经过编译、链接两个步骤。编译的作用是对代码进行语法检查,而链接的作用是链接代码中用到的编译器提供的资源。所以,通常通过编译、链接后形成的只形成一个可执行的文件。 参考技术B 编辑 编译 链接 执行又或者预处理 编译 链接才能确保程序正确执行。 参考技术C 编译和链接装配

pycharm将python程序制作成可执行程序的方法

参考技术A pycharm将python文件转换为小程序的方法
1、打开pycharm idea ,按快捷键(Alt + F12)打开teminal窗口;
2、安装模块pyinstaller;命令:pip3 install pyinstaller
3、确定安装成功之后,在终端中输入“pyinstaller -F -w 文件名”,回车后开始打包文件

文件名需要绝对路径
-F 是用于将所有的支持文件全部都打包在一起,不显示其他的依赖文件(如果没有这个属性,你会发现所有生成的、所需支持的依赖文件会全部在文件夹下)
-w 在程序运行的过程中隐藏后台控制的黑窗口;
4.然后在python的工作目录下就会出现一个dir的目录,这个目录中就有可执行文件

以上是关于简述将源程序编译成可执行程序的过程的主要内容,如果未能解决你的问题,请参考以下文章

C代码编译成可执行程序的过程

Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行

c语言如何把c程序编译成可执行的exe文件

python的程序可以编译成二进制可执行文件么

Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行

C#.net写的winfrom程序怎么编译成可执行的exe文件