从高级语言到低级语言的翻译叫做编译
从汇编语言到机器语言的翻译叫做汇编
程序的编译执行:
先将源程序翻译成目标程序,再执行目标程序并得到结果
程序的解释执行:
直接由解释程序对源程序进行分析、执行并得到结果
优点
解释执行无需生成独立的目标代码,比较容易实现,也更容易移植
解释执行可以立即执行并得到结果,更加适合于动态语言和交互式环境
缺点
解释执行再执行前必须先进行翻译,比编译执行要花去更多的时间
解释执行边翻译边执行,无法进行更全面的优化,执行效率较低
在操作系统中,程序执行的基本实体是什么?
---------------进程
区别编译执行和解释执行的方式?
-----检查进程(是目标程序还是解释程序)
例如c程序的进程就是该程序.exe本身
而
python程序的进程是python的解释器python.exe"yourApp.py"
逻辑上可以将编译过程分为两部分:
源程序的分析和目标程序的合成
具体
(1) 词法分析
(2) 语法分析
(3) 语义分析和中间代码生成
(4) 优化
(5) 目标代码生成
编译的每个步骤都可能涉及到“符号表管理”和“出错处理”。
符号表管理
对各种符号进行查询、建立和更新等操作
出错处理
对发现的错误进行提示、隔离或纠正等操作