跨平台理解

转自:https://zhuanlan.zhihu.com/p/49639722,https://www.zhihu.com/question/40527999

1.介绍

跨平台是指跨不同的操作系统(有不同的系统调用),有不同的cpu指令集。应用程序的执行本质是cpu指令的执行,而cpu指令分为特权指令非特权指令。(特权指令可以理解为系统调用吗?)

一种语言要想跨平台,首先要在多个平台都有编译器或解释器,但是不同平台的编译器对某些相同的源代码转化成不同的cpu指令

2.跨平台语言

Java的跨平台是“一次编译,到处运行”。Java在编译的时候没有编译成指定CPU类型的汇编代码,也没有和具体操作系统的系统调用相关联,所以编译出来的结果是和CPU,操作系统都不相关的。

C编译出来后,就是指定CPU类型的汇编代码,编译过程中肯定也要和具体操作系统的系统库相关连,所以做不到Java那种跨平台。

 

posted @ 2022-11-05 19:30  lypbendlf  阅读(238)  评论(0编辑  收藏  举报