1. 什么是平台
平台=CPU+OS(操作系统)
开发程序前必须要确定的是:程序在什么机器上运行,否则开发的程序不能在这个机器上运行,就等于没有做。
早期的windows和linux支持Intel和AMD的CPU,但不支持PowerPC的CPU,Mac电脑使用的PowerPC的CPU,所以Mac电脑上无法安装Windows,即程序想在Mac电脑上运行就必须是PowerPc的CPU+Mac的系统
所以开发程序前就必须要先确定程序是在什么CPU上运行,其次就要安装与之相适应的操作系统,最后才是程序的开发。
现在主流的操作系统都支持主流的CPU,所以如果开发主流CPU的程序,有时就不必要去考虑CPU,因为操作系统帮我兼容了,此时只需选择操作系统即可。所有有时也把操作系统成为平台。
2. 跨平台
跨平台是指:编译后的文件可以在不同平台运行。下例:
Windows上的C语言编译器编译出来的exe,却无法在Linux上运行。Linux上的GCC编译的C文件也无法在Windows上运行。这是因为编译器将源程序编译成了机器码,而不同操作系统之间使用的指令集不同,造成无法解读对方的机器码。
Java采用"中间码+虚拟机"的方式,Java编译器将源程序编译为中间码,不同系统上安装虚拟机,再由虚拟机将中间码翻译成各个机器能解读的语言