-3

我见过很多 C/C++ 库和 Gui 工具包。其中有一些像 GTK+、Qt、Swing 等声称是平台无关的。而一些声称是平台的,如 WxWidgets、SWT 等。起初我认为这只是措辞上的改变,但这些术语的使用是如此一致,以至于我开始怀疑。有什么区别

4

4 回答 4

13

跨平台仅意味着您支持多个平台。它通常表示 Linux、Mac 和 Windows。平台无关意味着您支持您的语言支持的任何平台——即,您不依赖语言规范中未指定的任何行为。然而,这只是我个人的看法,大多数用法只是将它们都表示为“多个平台”,通常是“Windows 和 ...”。

于 2011-07-14T13:29:49.357 回答
6

对于它的价值,这是维基百科对此事的看法:

为了使软件被认为是跨平台的,它必须能够在多个计算机架构或操作系统上运行。

独立于平台的软件不依赖于任何单一平台的任何特殊功能,或者,如果确实如此,它会处理这些特殊功能,以便它可以处理多个平台

于 2011-07-14T13:31:39.153 回答
3

“平台无关”通常是用高级语言编写的程序,不需要为另一个平台重新编译或调整,并且可以“按原样”运行(Java、大多数 Perl 脚本等),只要特定平台实现语言运行时。当程序下面有处理不同平台(VM 或解释器)的层时,这是可能的。

“跨平台”意味着程序可以针对多个平台进行编译/调整,但不能针对任何平台。想想#ifdefC 和 C++ 代码中的 ' 。

于 2011-07-14T13:31:01.260 回答
0

跨平台意味着您的程序可以在不同的平台上运行,例如 Windows、Linux 和 Mac。

平台无关意味着您的代码是一次编写的,可以在任何地方运行,即您无需更改代码即可在不同平台上运行

所有平台独立程序都是跨平台的,但反之亦然

于 2019-04-30T07:47:33.793 回答