第七章——程序是在何种环境中运行的
如果运行环境的不同,程序是无法运行的,这是为什么?本章将进行解答。
首先,操作系统和硬件决定了程序的运行环境。同一类型的硬件可以安装多种操作系统,其次CPU的种类是考验硬件的重要参数。CPU只能解释自身的机器语言。
Windows系统克服了CPU以外的硬件差异,Windows可以接受指令进而去操作硬件。
同样的机型可以安装的操作系统类型也有很多的选择,不同操作系统的API也有不同。
既然CPU会导致本地代码不能重复利用,那么可以将源代码分发给程序吗?Unix系统中的FreeBSD中存在一种Ports的机制,能够结合当前的硬件编译源代码,进而运行本地代码。这一方法称为‘移植’。
,还有一种方法就是‘利用虚拟机获得其他操作系统的环境’。
还有一种不需要依靠特定硬件和操作系统的程序运行环境——Java,编译后生成的不是CPU的本地代码而是名为字节代码的文件,字节代码的运行环境就称为Java虚拟机。
本章主要讲解了运行环境,以及源代码和本地代码,下一章会将源代码转化为本地代码的过程进行讲解。