编译程序和解释程序是程序执行的两种不同执行方式。
编译:
将源代码(源代码:程序员敲出来的代码,人类可读,未编译。)一次性转换成目标代码(目标代码:二进制代码,计算机语言,是源代码经过编译程序生成的目标代码。) ,并保存成二进制文件(目标文件)。计算机直接执行目标代码,速度更快。编译过程只进行一次。
编译和运行是分两个阶段进行的,也就是说程序必须要全部编译完成后,才能运行。
编译过程中,一处有错就停止编译
源程序只需要被编译程序翻译一次就可以多次运行。
解释:
通过分析和执行语句后直接生成运行结果。 不生成目标代码,直接执行源程序或源程序的内部形式(中间代码)
逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行 。一边解释,一边执行。
每条语言只有在执行时才被翻译。只在执行程序时,才一条一条的解释成机器语言给计算机来执行。在每次程序运行时都需要解释器和源代码,需要反复扫描源程序,不断的对源代码进行解释执行、解释执行...而不是执行最终产品,从而降低了程序的运行速度。
源代码出错也能解释执行,遇到错时停下