zoukankan      html  css  js  c++  java
  • 编译程序 VS 解释程序

      计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即编译方式解释方式

       编译程序,将高级语言(如C++)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

      编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

      解释程序,将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。

      编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。

  • 相关阅读:
    本周个人总结(14周)
    本周个人总结
    排球计分规则
    我与计算机
    Tomcat处理HTTP请求原理
    数据结构与算法之排序算法(四):归并排序
    数据结构与算法之排序算法(三):选择排序
    数据结构与算法之排序算法(二):交换排序
    数据结构与算法之排序算法(一):插入排序
    数据结构与算法:概述+思维导图
  • 原文地址:https://www.cnblogs.com/pure/p/1845297.html
Copyright © 2011-2022 走看看