码迷,mamicode.com
首页 > 其他好文 > 详细

编译原理:引论

时间:2017-06-25 11:09:38      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:高级   高级语言   https   运行   出版社   编译过程   原理   程序设计   相对   

阅读的教材为:编译原理(张素琴等编著,清华大学出版社)

编译过程就是将高级语言翻译为低级语言

编译过程分为前段(front end)和后端(back end)

阅读过程中遇到的疑问是:解释程序和编译程序的区别?

1、编译程序直接生成目标代码,解释程序在运行时才将中间代码编译成目标代码。故执行效率低

2、编译过程生成的目标代码,逆翻译难度非常大,基本不可能。解释程序只是将程序生成为中间代码,易读,相当开放源码。故无保密性

3、编译过程从中间代码到目标代码需要考虑到不同系统,相反解释程序只是翻译到中间代码,执行过程中可根据不同系统做后续编译。故跨平台

4、为了便于用户调试和修改程序,又能保证程序高效运行,很多程序设计语言配置两个加工系统,一个用于调试,一个用于有效地运行。故调试效率高

 联想到,python为什么效率相对低,是不是因为解释程序,然而并不是?

引:像Python这样就不好分了,可以直接解释源代码运行,也可以编译为虚拟机指令然后再运行。

引:https://www.zhihu.com/question/21486706  余天升 回答

编译原理:引论

标签:高级   高级语言   https   运行   出版社   编译过程   原理   程序设计   相对   

原文地址:http://www.cnblogs.com/jackherrick/p/7076254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!