问题标签 [platform-specific]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
26 回答
405064 浏览

python - Python:我在什么操作系统上运行?

我需要查看什么来查看我使用的是 Windows 还是 Unix 等?

0 投票
5 回答
340549 浏览

python - 如何在 Python 中找到当前的操作系统?

可能重复:
Python:我在什么操作系统上运行?

正如标题所说,如何在 python 中找到当前的操作系统?

0 投票
6 回答
341 浏览

c++ - 分别针对不同平台开发,有人推荐吗?

我知道推荐几个跨平台库很容易。

但是,为您的产品单独处理每个平台是否有好处?

是的,所有平台都会使用一些基础库,但 UI 和其他一些东西在每个平台上都会有所不同。

我没有限制每个平台上的产品必须 100% 相似。

Mac、Linux 和 Windows 是目标平台。

重win32 API,MFC已经用于Windows版本。

我不完全支持跨平台库的原因是因为我觉得最终产品在尝试将其推广到所有平台时会受到一点影响。

0 投票
2 回答
671 浏览

.net - 从非特定 .NET 应用程序引用特定于平台的库

我经常需要在我的 C# 应用程序中包含少量本机代码,我倾向于通过 C++/CLI 来完成。通常我只需要使用一个 C++ 库,它没有 .NET 的好替代品;但有时性能也是一个因素。

这是有问题的;这样做意味着添加对特定 x86 或 x64 库的引用。大多数库都支持 64 位和 32 位编译,或者只需要稍作修改即可在 64 位下工作。但是,我只能引用来自特定 C# 项目构建目标的版本之一。这意味着我需要为解决方案中的每个项目手动添加几个构建目标。

VS.NET 在这种情况下非常无用:如果将 C++ 库和 C# 库添加到同一个解决方案中,并且 C# 和 C++ 库同时具有 32 位和 64 位目标,则您的解决方案将包含“Any CPU”目标,即“混合平台”目标、x64 目标、x86 目标(C# 称之为 32 位)、win32 目标(C++ 称之为 32 位),也许还有更多;至少有两个版本(发布和调试,除非您添加了更多版本)。

这很快就变得一团糟,而且没有充分的理由。显而易见的行为不应该那么棘手:如果我有一个 C# 项目引用了一个 C++ 项目,那么 64 位版本应该引用 64 位版本应该有点明显,32 位版本也是如此。

最糟糕的是,所有这一切都导致了两个独立但相同的可执行文件:任何 CPU .NET 项目都可以在 32 位和 64 位模式下不加修改地工作,但我还没有找到加载适当平台特定支持的方法库取决于应用程序的启动模式。

总结这次漫长的漫谈:

  • 是否可以让在跨平台应用程序上使用 VS 变得不那么痛苦 - 让它在不手持的情况下将适当的引用添加到适当的构建目标?
  • 是否有一种简单的方法可以使用特定于平台的引用制作 .NET 可执行文件,该引用可以在 32 位和 64 位模式下运行,并根据需要加载适当的程序集?
0 投票
1 回答
132 浏览

continuous-integration - 如何确定需要哪个平台版本?

这经常出现:我已经构建了软件,并且可能使用了某些版本(例如,Java 1.6.10 或 PHP 5.2)更高版本上可用的一些新语言/平台/标准库功能,但我当然不能完全记住。我只确定它至少在我正在使用的版本上运行(通常是可用的最新版本),但它也可能在稍旧的版本上运行。

手动浏览代码、保留列表并将其与平台发行说明进行比较显然不是非常复杂的选择。有没有办法自动执行此操作(除了烘焙您自己的版本检查器解析器)?我个人至少对以下语言感兴趣,但请自由添加:

  • 爪哇
  • Python
  • PHP
  • C++(也许还有 C)
  • 添加您的最爱。

简单地在旧版本上进行测试是一种蛮力方法,它的优点是您将知道代码是否真的有效,而不仅仅是它应该有效。但这可能很乏味,所以我仍然对某种通过源代码检查正在使用的平台功能的自动机感兴趣。

0 投票
5 回答
217041 浏览

python - 如何检查我是否在 Python 中的 Windows 上运行?

我找到了平台模块,但它说它返回“Windows”并且它在我的机器上返回“Microsoft”。我在stackoverflow 上的另一个线程中注意到它有时会返回“Vista”。

那么问题来了,如何实现?

以向前兼容的方式?如果我必须检查诸如“Vista”之类的东西,那么当下一个版本的 Windows 出现时它就会中断。


注意:声称这是重复问题的答案实际上并未回答该问题isWindows。他们回答了“什么平台”的问题。由于存在许多风格的窗口,它们都没有全面描述如何获得答案isWindows

0 投票
2 回答
2512 浏览

c# - C#/Mac:Path.GetInvalidPathChars() 和 Path.GetInvalidFileNameChars() 结果

这在 OSX 上显示什么?任何人都可以使用 Mono 在他们的机器上运行它吗?

这显示了什么:

作为参考,我在 Windows 和 Linux 中包含GetInvalidPathChars的输出。

Windows 中的输出:34、60、62、124、0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、1 8 , 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,

openSUSE 中的输出:0,

此外,我在 Windows 和 Linux 中包含GetInvalidFileNameChars的输出。

Windows 中的输出:34、60、62、124、0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、1 8 , 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 58, 42, 63, 92, 47,

openSUSE 中的输出:0、47、

问候,

_NT

0 投票
3 回答
1790 浏览

c - 判断是否在 Windows 或其他系统上编译

我目前正在开发一个跨平台的C应用程序。是否有任何编译器宏仅在 Windows 编译期间定义,所以我可以#ifdef使用一些 Windows 特定的#includes?

典型示例是在 WinSock 和 Berkeley 套接字头之间进行选择:

所以我正在寻找的是类似于_WINDOWS宏的东西。

0 投票
2 回答
169 浏览

silverlight - Silverlight System.随机测序跨平台

我需要知道不同平台对System.Random对象(Silverlight)的影响。在 Mac、PC 和 32 / 64 位上创建的序列是否相同?

0 投票
2 回答
788 浏览

c - C .lib 文件平台是特定的吗?

我正在尝试将 API 用于嵌入式系统(飞思卡尔 HCS08)上的专有接口设备,并且提供的文件包括头文件(.h)和库(.lib)。标头与我的其余代码(标准 C)编译得很好,但是当尝试链接库时,我收到内存错误,说文件可能已损坏。

我对 C 中的库的理解有些有限,因为我几乎只在嵌入式系统上工作,在这些系统中不存在诸如 stdio、文件和 dll 之类的神奇事物。但是(或任何)库会是特定于平台的吗?它是否包含完整(如果那里有任何级别)编译代码?提供的其他一些文件是 VS 项目文件,因此如果 .lib 是特定于平台的,将用于 x86-Windows 的文件链接到 8 位编译器会失败也就不足为奇了;可能只有我。