可移植性与平台无关

时间:2013-01-27 12:42:43

标签: comparison cross-platform portability

有人可以解释一下这些的区别吗?如果该程序是独立于平台的,那么它是否也是可移植的,反之亦然?

1 个答案:

答案 0 :(得分:2)

独立于平台意味着,这些程序可以在“几乎”所有操作系统中运行。不需要全部,但至少MS,Linux和Mac可以使用这个词。

并且,让我们挖掘“独立于平台”这个词背后的事实。

注意:以下句子是我的意见。如果有人阅读,无法理解背后或不喜欢的逻辑,只需按下按钮 CTRL + W 即可关闭。我注意到这些是因为Java程序员在面对这些句子时会非常生气。但它总是可以讨论。 请检查:http://en.wikipedia.org/wiki/Platform-independent_model

好的,不要破坏主题并转回去。

  1. 实际上和逻辑上,任何程序需要平台安装程序都不能被视为独立于平台。例如,如果我不能运行Java可执行文件而不下载和安装java运行时包服务等...那么我们怎么能说它是独立于平台的。如果我们可以这么说,那么近80%的Windows可执行文件也是独立于平台的,因为你可以在Linux上使用虚拟机或WINE运行它们。确定,如果Java是独立于平台的,PHP,ASP,Perl,Python,Ruby等所有脚本语言也是独立于平台的!?啊,当然不是...... 希望你有逻辑。

  2. 但我们能做的是,我们可以为许多不同的操作系统编译我们自己的软件。所以我们的软件将是“跨平台”

  3. 实际上可以与平台无关的是什么 (正如我在顶部写的,我的意见) 未编译的汇编,C等代码......

  4. 说到便携式,这是别的。例如,“windows”操作系统下的“便携式软件”一词​​意味着;

    • 不使用注册表或Appdata文件夹作为其文件或设置。
    • 在自己的文件夹下工作,它所需的所有文件都位于它自己的文件夹下。
    • 还将其设置保存到其自己的文件夹下的文件(ini等)。

    如果我们的意思更进一步,甚至不能依赖于特定的硬件/软件品牌,型号或异常模式(如“x”牌屏幕卡,“y”分辨率,“z”版本的DirectX等)。但实际上你可以忽略最后的细节,因为这个标准尚未成熟,尚未被所有人接受。