问题标签 [platform-independent]
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.
c++ - 在 C++ 中获取 IP 地址的平台无关方式
可能重复:
获取本地计算机的 IP 地址
我希望能够在不查询外部 www.whatsmyip.com 的情况下获取我在 C++ 中使用的机器的 IP 地址,但也希望以独立于平台的方式进行。我可以找到适用于 Windows 和 Linux 的特定示例,但想不出一种简单的方法来以独立于平台的方式执行此操作。如果这似乎是最好/唯一的方法,我还会考虑根据操作系统放置 if 语句的选项。
haskell - 如何在 Haskell (ghc) 中编写与平台无关的代码
我想在 Hackage 中使用一些特定于平台的库(例如 inotify、kqueue)。但是,关于如何使用条件编译在平台之间切换的文档似乎有点稀少。我在查找相关文档时遇到了一些麻烦...
我可以使用哪些预处理器定义在平台之间切换?
如何设置我的 cabal 文件以分别在 linux/osx 上包含/排除 inotify/kqueue?
我希望在这里记录它可能对其他人也有用,因此可能值得提及其他常见平台。到处寻找这些东西是愚蠢的。
c - 将 C 库与 Java、Ruby、Node、Python、Go、.NET 集成
现状
对于我的一个项目,我需要一个客户端库,它可以与我的每个主要编程平台的 API 进行通信。目前我只实现了一个(Java)并且在想'我不想这样做 8 次(或者希望其他人会这样做)'。
客户端比较小,但不小;主要通过 SSL 读取/写入和发送 TCP/UDP 数据。对客户端的每次调用都是一劳永逸的,因此它在自己的线程中完全异步工作。
问题
我在问自己编写一个 C 库并将其与其他平台集成是否有意义。
我做了一些研究,似乎每个平台都以不同的方式(显然)通过不同的必要努力来处理这个问题。我还意识到我从未见过类似的东西——例如,数据库驱动程序似乎总是从头开始编写,而不是在核心使用 C 库。开销是否太大?
我还阅读了有关 Thrift、Protocol Buffers 等的信息——但这似乎是针对网络互操作性的?
问题
所以最后一个问题是:
在每个平台客户端的核心使用单个 C 库是否可行?如果是:应该怎么做?
c - printf("%llx") 有什么问题?
我有这段代码挑战了我对 C 的所有知识。这里我有:
在我的“64bit - Corei5 - Fedora - GCC”上,它会准确地打印出我输入的内容。但在我好友的系统(32 位、MS XP、MinGW)上,它会打印90ABCDEF
. 我不明白为什么。有人知道吗?
顺便说一句:sizeof(unsigned long long int)
在他的系统上是 8。
java - Java - howto 平台独立输出
我想知道如何让我的代码在不同平台(至少是 windows 和 linux)上产生相同的输出(UTF-8 或 UTF16)。
我认为可以设置应用程序使用的代码页,但我找不到设置代码页的信息。而且我不知道在使用特殊字符(如 äöü 或其他非拉丁字符)时设置代码页是否真的会产生相同的输出。
我想要一个无需为 java.exe 设置参数即可工作的解决方案。
编辑:
我的意思是输出到控制台。关于对其他输出媒体的可能影响的评论会很好。
c++ - 消息框操作系统。独立的
我想创建一个 Assert 函数,它在不打开控制台的情况下在新窗口中显示一条消息。该函数需要独立于操作系统,并且尽可能不使用 c++ 外部库。
需要 C++ 代码在其他操作系统中输出 MessageBox
node.js - 如何使用 Node.js 检查任意 PID 是否正在运行?
有没有办法使用 Node.js 检查系统上的任意 PID 是否正在运行或存活?假设 Node.js 脚本具有适当的读取权限/proc
或 Windows 等效权限。
这可以同步完成:
或异步:
请注意,我希望找到一个适用于任意系统 PID 的解决方案,而不仅仅是正在运行的 Node.js 进程的 PID。
c# - 如何运行 x64 调试模式 DLL 是“任何 CPU”?
我将 DLL 编译为“任何 CPU”,因此它们可以在 x86 和 x64 中运行,但是当我尝试在调试模式 (x64) 下运行时,它一直告诉我尝试运行项目时出错:无法加载文件或程序集'项目'或其依赖项之一。试图加载格式不正确的程序。
但是,当我运行从调试目录创建的 *.exe 或在没有调试的情况下在 Visual Studio 中运行它时,它运行良好,如果我在 x86 调试模式下运行它也可以。为什么它可以在 Visual Studio 中的调试模式之外的所有环境中工作?
该应用程序是桌面应用程序,因此没有 IIS 应用程序池可以更改为 32 位。
c - 哪些标头与平台无关?
我想编写一个可以在不同平台上编译的软件。说 MS 和 Unix。我可以使用哪些标头而不考虑平台依赖性?
我想我可以使用
- 标准库文件
- 标准输出
- 标准字符集
- 标准参数.h
- 整数类型.h
- 字符串.h
- 时间.h
- 限制.h
- 数学.h
- 浮动.h
- 错误号
如果我错了,请告诉我,请告诉我更多标题。我试过谷歌,但它没有给我我正在寻找的答案。
platform-independent - 模型驱动架构可行吗?
我想问一些关于MDA的问题:
首先,我知道存在可以用一种语言编写代码然后用另一种语言生成代码的工具,例如在“GWT”中,Java 代码被转换为 Javascript,或者一些将 HTML+Javascript 转换为原生的移动开发工具不同平台的代码。这些转换是否被视为 MDA 还是有所不同?
除了使用 MDA 自动生成部分代码之外,还有什么其他原因可以提高程序员的工作效率?
与传统开发相比,切换到 MDA 是否值得(立即),这在现实中是否可能?