C与Java的编译模型有何不同?
发布时间:2020-12-16 10:43:20 所属栏目:百科 来源:网络整理
导读:经典编译模型(C,C等)与 Java编译模型之间的区别是什么? 解决方法 你的问题的正确答案可能需要几百页回答,但我会尝试在几个段落中总结. 基本上,您所指的“经典编译模型”将人工编写的源代码作为输入,并发出机器代码,无需进一步翻译机器代码即可加载和运行.其
经典编译模型(C,C等)与
Java编译模型之间的区别是什么?
解决方法
你的问题的正确答案可能需要几百页回答,但我会尝试在几个段落中总结.
基本上,您所指的“经典编译模型”将人工编写的源代码作为输入,并发出机器代码,无需进一步翻译机器代码即可加载和运行.其中一个结果是生成的机器代码只能在兼容的硬件上运行,并且只能在兼容的操作系统中运行. Java编译模型将人工编写的源代码作为输入,并且不发出机器代码,而是发出所谓的“byte code”.字节代码不能直接在机器上执行.相反,它需要由另一个编译器再次转换为机器代码,或者由在设备上执行与字节代码中的指令相对应的指令的设备即时解释.后一种设备通常被称为虚拟机.这种模型的一个分支是字节代码可以在任何具有字节码编译器或为其编写的虚拟机的平台上“运行”.这为Java提供了完全可移植性的外观和效果,其中C编译器堆栈发出的机器代码不存在这种可移植性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |