c# - 平台独立性: How is it different from moving source code from one OS to another?

标签 c# java php c++ c

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

我很困惑,如果我有任何其他语言的源代码,例如 C、PHP、VB、C#、C++、RubyOnRails 等,并且该源代码可以在具有相应编译器/解释器的任何操作系统上运行在上面。那么为什么我们不说 C 或其他语言也是平台无关语言。

Java 实际上非常依赖于 Java 平台。而且,C 可以说是一种非常可移植的语言。 – 尼克拉斯

最佳答案

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

毫无疑问,编译后的 Java 程序依赖于平台,因为它依赖于 JVM 的存在。然而,与编译的 C 程序相反,它独立于底层操作系统并遵循 compile once, run anywhere原理。

这里引用 this webpage

Platform Independent Programming is achieved when a program works on several platforms. Platform Independent applications shall work the same way on any Operating System, for any Processor Architecture and so on. Java is a well known language for creating such applications.

<小时/>

正式地说(我喜欢正式地说)任何用具有明确定义的语义的语言(涵盖 99% 的语言)编写的程序当然可以在任何平台上执行。

相关问题:

关于c# - 平台独立性: How is it different from moving source code from one OS to another?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818015/

相关文章:

php - 如何打开文本文件并使用 php 以追加方式写入文件?

java - Integer[][] 矩阵中的圆圈选择 - Java

c# - 正则表达式根据匹配替换为单独的替换

c# - Linq 不包含动态查询

c# - 伪 IPv4 正则表达式

java - Eclipse 中未暂存更改,但 git 中没有更改

java - 如何在 Eclipse Indigo 中添加 jdk8

php - Dynamica 数据库 - 数组 - 使用 PHP/MySql 将值从第 1 页传递到第 2 页

php - Laravel 登录后重定向到上一个

c# - 将任何程序最小化到系统托盘