平台独立性:将源代码从一个操作系统移动到另一个操作系统有何不同?

Sco*_*ion -2 php c c# c++ java

独立于平台的确切定义是什么.我读过Java是一种独立于平台的语言,因为它将源代码转换为字节代码,并且该字节代码可以在任何安装了Java虚拟机的操作系统上运行.

我很困惑,如果我有一些来自任何其他语言的源代码,比如C,PHP,VB,C#,C++,RubyOnRails等,这个源代码可以在任何具有相应编译器/解释器的操作系统上运行.那么为什么我们不说C语言或其他语言也是一种独立于平台的语言.

Java实际上非常依赖于Java平台.此外,C可以说是一种非常便携的语言. - 尼克拉斯

aio*_*obe 5

旨在与操作系统直接交互的编程语言(例如C)往往被视为依赖于平台,仅仅因为一个系统可以提供一组系统调用,而另一个系统可以提供另一组系统调用.因此,应用程序可能取决于它在哪个平台上执行.

当然,编译的Java程序依赖于平台,因为它依赖于JVM的存在.然而,与编译的C程序相反,它独立于底层操作系统并且遵循编译一次,随处运行原则.

这是这个网页的引用

当程序在多个平台上运行时,可实现平台无关编程.对于任何处理器体系结构等,平台无关应用程序应在任何操作系统上以相同的方式工作.Java是用于创建此类应用程序的众所周知的语言.


从形式上讲(我喜欢正式发言)任何用语言定义的语言(涵盖所有语言的99%)当然可以在任何平台上执行.

相关问题: