- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译技术的过去、现在和将来概要
编译技术的过去 现在和将来
第18小组成员:
王琅辉 李鹏坤
赵 月 周 馨
郭雪佩 武州峰
姚学礼 邢玉伟
内容大纲
1、编译技术的起源
2、目前流行的编译技术
3、编译技术未来的发展方向
编译技术的起源
编译技术的起源
为什么会出现编译技术
编译技术的起源
机器语言:C7 06 X 0002
汇编语言:MOV X,2
高级语言:x = 2
·机器语言是机器直接能够识别的语言
·汇编语言与机器有关,属于低级语言,需要进行编
译才能让机器运行
所以编译技术的出现是必然的。
初期
*编译工作是将算术公式翻译成机器代码
*功能简单、限制较多
中期
末期
编译技术在20世纪50年代的发展
*出现了FORTRAN等一批高级语言
*开始研究编译程序的自动生成工具
20世纪60年代起
不断有人使用自展技术来构造编译程序
1971年
70年代后期
80年代早期
PASCAL的编译程序用自展技术生成后,影响就越来越大
贯注于编译器其它部分的生成自动化
60年代到80年代的编译技术
当时流行的几种编译语言
FORTRAN语言(FORmula TRANslator公式翻译)
ALGOL语言(ALGOrithmic Language算法语言)
LISP语言
BASIC语言(BASIC language)
PASCAL语言
now
目前流行的编译技术
目前流行的编译技术
并行编译技术
重构技术
串行程序
并行程序
直接编写并行程序
目前流行的编译技术
交叉编译技术
由于目标机的指令系统与宿主机的指令系统不同,编译程序在宿主机A上运行把应用程序的源程序生成目标机B的代码,这种编译技术称为交叉编译技术。
目前流行的编译技术
动态编译即编译运行时的程序变换,是利用在运行时提供的信息对程序提供更完全的优化。因此利用动态编译技术可大大扩大优化范围从而能够产生更有效的代码。
动态编译技术
构造编译程序的方法
主要特征:
用被编译的语言来书写该语言自身的编译程序。1971年PASCAL的编译程序用自展技术生成后,其影响就越来越大。
自
展
法
构造编译程序的方法
典型的自动生成工具
LEX------词法分析器
YACC----语法分析器
自
动
生
成
法
构造编译程序的方法
主要思想:
用目标机的汇编语言或机器语言对源程序的核心部分构造一个小小的编译程序,再以它为工具构造一个能够编译更多语言成分的较大编译程序。
自
编
译
方
式
目前流行的编译技术
基于编译技术的协议解析方法
编译技术的应用
编译技术在反病毒方面的应用
基于编译技术的可信赖计算方法
目前流行的编译器--移动端
目前流行的编译器--PC端
在线编译器和IDE,可以编译C,JAVA,C#和C++
在线调试Javascript、CSS、HTML和CoffeeScript的免费工具
PL/0编译器由来
PL/0语言,作为一个教育用的编程语言,和通用编程语言Pascal有些类似但是要简单得多。作为如何构建一个编译器的一个例子。它最初是出自Niklaus Wirth于1975年写的《算法+数据结构=程序》一书中。它具有非常有限的语言构造:没有实数,只有很少量的基本算术运算,除了if和while语句块以外没有其他的控制流。虽然这些限制使这种语言在实际应用中受到限制,但它却有助于编译器保持紧凑和简单。
编译技术未来的发展
?
编译技术未来的发展方向
多核处理器编程
复杂软件系统的安全性和可靠性
移动领域的编译技术
多核处理器编程
对于异构多核处理器:
①由于不同结构的处理器核的指令集不同,需要生成在不同处理器核上执行的不同的执行码,因此编译过程更加复杂;
②为了获得高性能,对编译优化技术的要求也更高。
*多核处理器的编译过程
1. 代码划分
2. 分别编译
3. 执行代码的组织
复杂软件的安全性和可靠性
三个挑战:
1. 需要开发相关的工程技术来帮助检测和避免程序缺陷;
2. 安全风险-------开发相关的策略检测程序对外部攻击的
抵御能力;
3. 开发自动的程序验证技术。
移动领域的编程技术
随着智能手机的迅速发展,移动领域的编译发展显得异常重要。
利用交叉编译技
您可能关注的文档
- 绿地规划概论.ppt
- 绿城产品标准化研究.ppt
- 绿化养护机具.ppt
- 绿油培训教材.ppt
- 绿城景观施工标准汇总.doc
- 绿松石介绍.ppt
- 绿色施工、节能减排措施.doc
- 绿色施工导则2007年09月10日.doc
- 绿色施工导则.doc
- 绿色新能源_海洋能.ppt
- 2021-2022年消防设施操作员之消防设备基础知识题库附答案(典型题).pdf
- 2023-2024学年人教版七年级上册数学第二章整式的加减 单元测试题(含答 .pdf
- 2023-2024学年江苏省徐州市高一下学期6月期末考试生物试题 .pdf
- 2022年公务员多省联考《申论》题(四川县乡卷) .pdf
- 2020-2021部编版中考语文试卷分类汇编现代文阅读(含答案) .pdf
- 2023_2024学年湖南省郴州市高二上册期中数学模拟测试卷(附答案).pdf
- 2023-2024学年PEP版五年级英语下册Unit 3、4综合训练(附听力材料及答案.pdf
- 2020年精品-英语四级真题试卷及答案(三套全) .pdf
- 2022-2023学年全国初中七年级上生物人教版单元测试(含答案解析)023438.pdf
- 2022高中学业水平考试信息技术学考模拟试卷及答案解析(二) .pdf
文档评论(0)