计算机高级语言的程序执行方式分为编译执行和解释执行两种。
编译执行是指源程序代码先由编译器和连接器编译、链接成可执行的机器代码,然后再执行。解释执行是指源程序代码被解释直接读取执行。自从java语言推出后,产生了一种“中间码+虚拟机”的执行方式,在这种执行方式下,源程序代码需要被编译成一种特殊的中间码,这种中间码不能直接在机器上执行,需要一个叫虚拟机的系统来管理和执行。中间码在虚拟机中可以解释执行,也可以编译执行。
编译器
编译器是将高级语言程序编译为机器语言程序的系统,编译器在编译过程中可以检测各种因无效或不可识别的程序代码而引起的错误,还可以检测程序的结构性错误。如果没有错误,编译器会生成一个扩展名为obj的目标文件。
链接器
链接器对编译器生成的各种模块进行组合,并从系统提供的程序库(如标准C++库、MFC类库、.NET Frameword类库等)中添加所需的代码模块,最终将所有模块整合成可执行的整体,生成一个扩展名为exe的可执行程序。连接器也能检测并报告错误,如程序缺少某个组成部分,或者引用了不存在的库。