语言跨平台解释
解释型语言 如Java 就是
你编写的 .class文件
给我jvm
我jvm是安装在不同平台的(Windows、Linux等)
我jvm一看我安装在了Windows上那我就把.class文件编译成Windows认识的机器码(二进制文件)
我jvm发现我被安装在Linux平台 那我就把.class文件编译成Linux平台认识的机器码(二进制文件)。
这样不同平台 对于同一套.Java文件 就都能执行了
对于开发者 你给出去一份最终的.java代码 就完事了 后续它想在那个平台运行都可以 都不用来找你在编译什么的了。
编译型语言 如go、c语言 则是
你编写的 .go文件
windows平台的人要用 那么你就给他 g++ 成Windows平台的 .exe文件
Linux平台想要运行 那么你就给他 g++ 成 Linux平台的 可执行文件
这就不是夸平台了 因为 你写了一份.go或是.c文件
在不同平台运行 你都的给人家重新编译