c语言:解释程序和编译程序
编译程序和解释程序是程序执行的两种不同执行方式。
编译程序:编译程序的功能是把用高级语言书写的源程序翻译成与之等价的目标程序。编译过程划分成词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。目标程序可以独立于源程序运行。(编译程序是一个语言处理程序,它可以把高级语言程序给语言翻译成某个机器的汇编语言程序或者是二进制代码程序,这个阶段叫做编译阶段。需要注意的是编译和运行是分两个阶段进行的,也就是说程序必须要全部编译完成后,才能运行。即编程方式执行程序会把源代码翻译成二进制文件的目标代码。)
解释程序:解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它是直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不生成目标程序,这是它和编译程序的主要区别。(解释程序的工作模式是一个个的获取、分析并且去执行源程序的语句,一旦第一个语句分析结束后,源程序就会开始运行并且去生成结果,它比较适合以交互方式来进行工作的情况。即解释程序不会生成目标代码。)
编译程序不参与用户程序的运行控制,而解释程序则参与
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。
解释程序它逐条地取出源程序中的语句,边解释,边执行。编译的话就是只要编译一次,下次再执行就不用再解释了。
解释程序运行效率低,程序的运行依赖于开发环境,不能直接在操作系统下运行
常见解释程序对应的高级语言:python BASIC
常见编译程序对应的高级语言:C&C++,C#,Java