
首先,我们不将可移植性称为跨平台. 许对此概念感到困惑.

跨平台语言的最大特点是它们不编译机器代码并且不使用系统API.

1. 不要编译机器代码,因为不同环境中的CPU是不同的. 尽管PC是x86,但如果它不是PC而是手机,则CPU的指令集不是x86,则您的机器代码将被完全废除且无法交叉. 平台.

2. 未使用操作系统API. 这很简单. 不同的系统API具有不同的定义,不同的用法和不同的软中断向量. 使用系统API创建线程和创建进程的任何代码都不是通用的.

Java在虚拟机上运行,编译后的代码在运行JVM,逻辑直接在运行的人不是CPU,只要硬件安装了JVM,那么就不必在乎CPU是什么了,同样,他将系统API封装到JAVA通用库中,尽管系统有所不同,但是系统内核做了类似的事情,将其封装并在各处使用java跨平台游戏,所以没有问题,并且上述QT是为了实现跨平台的平台或可通过这种统一包装进行移植的问题,但是问题是QT并不是一种编程语言,所以这不是我要的. .
但是语言本身是跨平台的,并不意味着代码是跨平台的,否则PC和android将不必编写两个版本的Java,因为许多系统资源都希望以统一的方式进行封装,所以这是一个巨大的工作量容易带来一些负面影响是有代价的,而且价格是没有回报的(例如,微软制造了一个支持Android系统并可以在PC上运行的VS. 回报在哪里?java跨平台游戏,这可能会被开发人员认为是一种感觉. 无意义,做两个应用程序不是问题,如果两个应用程序不兼容则是一个问题. )如果没有一个应用程序,没有人会为了人类的利益而从事这项工作. 值得一提的是,java编译器随处可见,看起来很漂亮,但实际上只是一个废话,但这并不能阻止Java成为跨平台语言,但它无法正常工作.
另一种跨平台称为宏语言. 这些语言中有许多不需要编译. 这些语言通常具有有限的工作范围,例如专门从事网页,专门从事以及将Flash作为脚本. . 以HTML为例,他不会编译. 归根结底,他只是一个协议. 该语言的目的是用文本描述网页表示. 有浏览器供应商可以实现此协议. 它可以实现Android版本,PC版本和Apple版本. 浏览器,但是都可以识别HTML脚本,因此HTML是一种跨平台语言. . . 其他此类语言也是如此. 据说它们是一个抽象协议,它们需要执行其APP或服务才能运行它们. 只要开发人员按照约定的协议执行程序,该语言就是跨平台的,但是此宏语言的功能范围受到限制. .
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-202805-1.html
特别美特别浪漫的一部电影
刺杀总统本来就是刑事
不听话
1后一天蓝屏接近10次气死老子了