问题标签 [multiplatform]
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.
javascript - 如何使用命令行美化 JavaScript 代码?
我正在编写一个批处理脚本来美化 JavaScript 代码。它需要在Windows和Linux上运行。
如何使用命令行工具美化 JavaScript 代码?
java - .NET 是否像 Java 所声称的那样是一次编写、随处运行 (WORA) 平台?
我记得孙杨的口号是如此生动…… “一次编写,随处运行”。这个想法是,由于程序被编译成标准字节码,任何带有 Java 虚拟机的设备都可以运行它。多年来,Java 似乎已经进入了许多平台/设备。
这是.NET的意图还是曾经的意图。如果是这样,正在采取什么样的努力来实现这一目标?
c++ - 以编程方式查找机器上的内核数
有没有办法以独立于平台的方式从 C/C++ 中确定一台机器有多少个内核?如果不存在这样的东西,那么如何确定每个平台(Windows/*nix/Mac)呢?
c - getting elapsed time since process start
I need a way to get the elapsed time (wall-clock time) since a program started, in a way that is resilient to users meddling with the system clock.
On windows, the non standard clock() implementation doesn't do the trick, as it appears to work just by calculating the difference with the time sampled at start up, so that I get negative values if I "move the clock hands back".
On UNIX, clock/getrusage refer to system time, whereas using function such as gettimeofday to sample timestamps has the same problem as using clock on windows.
I'm not really interested in precision, and I've hacked a solution by having a half a second resolution timer spinning in the background countering the clock skews when they happen (if the difference between the sampled time and the expected exceeds 1 second i use the expected timer for the new baseline) but I think there must be a better way.
c++ - 使用非平凡的构造函数初始化联合
我有一个结构,我创建了一个自定义构造函数来将成员初始化为 0。我在较旧的编译器中看到,在发布模式下,如果不将 memset 设置为 0,则不会初始化这些值。
我现在想在联合中使用这个结构,但是因为它有一个非平凡的构造函数而出错。
那么,问题 1。默认编译器实现的构造函数是否保证结构的所有成员都将被初始化为空?非平凡的构造函数只是将所有成员的 memset 设置为 '0' 以确保结构清晰。
问题 2:如果必须在基础结构上指定构造函数,如何实现联合以包含该元素并确保初始化为 0 的基础元素?
64-bit - autotools可以创建多平台makefile吗
我有一个我已经开发了几年的插件项目,该插件可与 [主要应用程序版本、第 3 方库版本、32 位与 64 位] 的多种组合一起使用。是否有一种(干净的)方法可以使用 autotools 创建一个构建所有版本插件的 makefile。
据我通过浏览 autotools 文档可以看出,与我想要的最接近的是拥有 N 个独立的项目副本,每个副本都有自己的 makefile。这对于测试和开发来说似乎有点不太理想,因为 (a) 我需要在所有不同的副本中不断传播代码更改,并且 (b) 多次复制项目会浪费很多空间。有没有更好的办法?
编辑:
一段时间以来,我一直在推出自己的解决方案,我有一个花哨的 makefile 和一些 perl 脚本来寻找各种 3rd 方库版本等。因此,我对其他非 autotools 解决方案持开放态度。对于其他构建工具,我希望它们对最终用户来说非常容易安装。这些工具还需要足够聪明,以便在没有大量麻烦的情况下搜索各种 3rd 方库和标头。我主要是在寻找一个 linux 解决方案,但一个也适用于 Windows 和/或 Mac 的解决方案将是一个奖励。
build - 哪种构建系统对跨平台驱动程序、库和 GUI 构建的支持最好?
对于超过一百万行的多平台项目,构建系统的最佳选择是什么,该项目使用 GNU 和 Microsoft 工具链为所有主流操作系统生成驱动程序、库、命令行工具、GUI 和操作系统安装包?
我们的源代码主要是 C,带有 Python、C# 和 GNU makefile,以及一点 C++ 和 bash。它主要驻留在一个存储库中,但我们将源代码推送给各种第三方,这些第三方都有自己的源代码存储库。保持快速构建也有一些兴趣,这可能涉及拆分项目。
目前我们混合使用 GNU make、bash、python 和微软的 DDKBUILD。主要问题是我们在 make 之上维护了一组复杂的脚本,并且更愿意使用第三方(最好是开源)工具,而且 cygwin 在 Windows 上并没有被证明是健壮的(例如,fork 并不总是可能的) ),并且我们当前的构建系统不会构建或安装工具链,因此容易受到工具链版本更改的影响。
perl - 如何进行 Perl 机器或平台相关的 TDD?
如何测试依赖于机器或平台的功能或模块?例如,看起来/依赖于$^O
或像Net::Ifconfig::Wrapper这样的模块的东西?我不需要测试 Net::Ifconfig::Wrapper 是否返回正确的值,但我确实需要测试我是否使用这些值做正确的事情。
谢谢!
编辑:测试$^O
结果比我想象的要容易:
出于某种原因,我认为它是一个只读变量。
c++ - 重载。-> 和 :: 用于多平台类
假设我有三个窗口类,一个用于我想要支持的每个操作系统:
- 窗口窗口
- OSX窗口
- Linux窗口
它们都继承自Window类。这也是您实例化的类。Window 类具有 . -> 和 :: 运算符重载,并且根据运行的操作系统(基于 IFDEF),它会将 this 指针转换为相关类。
我想要做的只是创建一个 Window 实例,而不知道正在运行什么操作系统。这种想法是不是很错误?沮丧是危险的吗?有没有更好的方法来做到这一点?
我知道有图书馆可以做到这一点,但我想自己尝试一下。
我想最简单的方法是创建一个工厂。但是这样的事情可以做到吗?
user-interface - 多平台 .net 应用程序的 UI
我想让我的程序在 Linux 上运行,但我不知道如何处理 UI。现在我正在使用 WPF,但 Mono 可能不会很快支持它。UI 控件由非 UI 代码直接编辑。
切换到 Windows 窗体将是最简单的,但我认为它在 Linux 上看起来并不好。
我现在的梦想是拥有某种抽象 UI,它提供标准控件(带有标准成员),并使非 UI 代码远离其他代码。因此,我必须将抽象 UI 中的更改转换为具体 UI。这将是很多工作,但代码将是高度可重用的。
你会怎么做,你对最后一个想法有什么看法?
(如果它不需要在 Windows 上安装任何新东西,那就太好了。)