当前位置:首页 » 编程软件 » 如何编译中间代码

如何编译中间代码

发布时间: 2024-12-18 06:33:26

① 为什么要采用中间代码中间代码有哪几种形式(编译原理)

采用中间代码是把源程序映射成中间代码表示,再映射成目标代码的工作分在几个阶段进行,使编译算法更加清晰。中间代码有四种形式:

1、逆波兰表示

逆波兰表示又称后缀表示法,它是最简单的一种中间代码表示形式,早在编译程序出现之前,它就用于表示算术表达式。

2、四元式

四元式也是一种比较普遍采用的中间代码形式,

其形式为:(OP,ARG1,ARG2,RESULT)

3、三元式

三元式表示是与四元式类似的一种表示法,所不同的仅是三元式中没有表示运算结果的部分,凡要涉及到运算结果的均用三元式的位置或序号来代替。

4、树表示

树形表示是三元式的翻版。在树的表示中,树叶均为运算对象,即常量或变量,其他结点表示运算符。表达式的树形表示很容易实现:简单变量或常量的树就是该变量或常量自身。

(1)如何编译中间代码扩展阅读

中间语言的优点:

1、中间语言与具体机器特性无关,一种中间语言可以为生成多种不同型号的目标机的目标代码服务。

2、可对中间语言进行与机器无关的优化,有利于提高目标代码的质量。

对于中间语言,要求其不但与机器无关,而且有利于代码生成。

② llvm怎样将中间代码编译为可执行二进制文件

预编译。编译器将你的.c、.cpp源代码,通过解释其中的预编译指令,将源代码转换成相应的没有任何预编译指令的代码。

编译、优化。将上一步的代码编译成汇编指令,并作一定优化,形成对应的.s汇编代码
汇编。将.s文件汇编成机器码,形成对应的.o目标文件,此时是不可执行的二进制文件。生成对应的清单文件。为了连接需要,还会生成未定向符号表、导出符号表、地址重定向表等等。
连接。先根据对应的清单文件、连接文件及之间的调用关系,决定所有的目标文件及引用的库文件在最后可执行文件中的位置;然后做一些其他事情,比如根据符号表等将目标文件中的符号地址补全等等;最终得到可执行文件。
这只是我个人的简单理解,更详尽的解答都可以写成好几本书了=_=望采纳~

热点内容
andftp端口 发布:2025-07-10 08:57:04 浏览:606
战地一有什么不用加速器的服务器 发布:2025-07-10 08:51:33 浏览:405
linux怎么看自己服务器的ip 发布:2025-07-10 08:51:29 浏览:136
怎么写脚本刷视频 发布:2025-07-10 08:49:51 浏览:382
安卓微信在哪里设置铃声 发布:2025-07-10 08:48:05 浏览:233
dropbear编译 发布:2025-07-10 08:27:35 浏览:684
我的世界电脑建造服务器推荐 发布:2025-07-10 08:13:08 浏览:401
如何提高存储数据的速度 发布:2025-07-10 07:55:57 浏览:259
规范c语言代码 发布:2025-07-10 07:55:57 浏览:517
在线砍价源码 发布:2025-07-10 07:55:56 浏览:796