这个问题是在对有关PhysicsFS 库的平台独立性问题的回答进行讨论的结果。问题是特定代码是否可以被认为是跨平台的或独立于平台的?代码是否应该符合某些标准,或者可能只是在一组特定的平台上运行?
问问题
200 次
2 回答
2
这是一个非常好的问题!我冒险在这里猜测,所以请耐心等待,因为我真的没有明确的答案。
我认为“平台无关”是指由隐藏基础设施的东西运行的代码。例如,JVM 对语言隐藏了平台——语言中没有任何东西可以让你访问平台——因此是平台独立性。我相信跨平台是不会脱离平台细节的东西——比如 JavaScript:你可以访问浏览器和它的所有怪癖。因此,编写在所有浏览器上运行的 Javascript 代码将是跨浏览器的——您可以将其推断为“跨平台”。
于 2011-04-20T17:01:56.473 回答
1
平台无关:如果编译器/系统库/VM/等...符合该语言/库/等的标准,则代码必须在符合规定标准的每个未来平台上编译/运行。这意味着代码不能在任何地方#ifdef
使用平台相关的 s ,并且程序不访问所述标准中未定义的 API。
跨平台:这是一种模棱两可的,主要是个人喜好。对我来说,这意味着它至少可以在三个大平台/操作系统(x86(_64) Windows、Linux 和/或 Mac)中的两个上运行。在大多数情况下,它将在更多的平台和架构上工作,并使用部分或大部分 POSIX API 功能(至少对于非 Windows 代码)。它将包含有限数量的#ifdef
s 来调用需要它的平台的专用 API(posix vs win32 vs...)。
于 2011-04-20T16:39:21.643 回答