问题标签 [portability]
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/C++ 库?
是否有任何小型库,将各种处理器的类似 CAS 的操作包装成宏或函数,可以跨多个编译器移植?
PS。atomic.hpp库位于 boost::interprocess::detail 命名空间内。作者拒绝让它成为一个公共的、维护良好的图书馆。
让我们重新打开这个问题,看看是否还有其他选择?
winapi - Windows 上的 fadvise/madvise 等价物是什么?
例如,在 UNIX 上,我可以告诉操作系统将来需要使用posix_fadvise(POSIX_FADV_WILLNEED)
. 如果感觉如此,它将预读数据。
如何判断对 Windows 的访问意图?
mysql - 数据库可移植性(sql server to mysql, postgresql)
我正在开发一个商业应用程序(asp.net)。现在我正在使用 sql server。但我计划在未来至少支持 mysql 和 postgresql。为了避免未来的头痛,我应该考虑哪些问题?特别是关于数据类型(列类型)。例如,我认为某些数据库不支持 BIT 列,所以我使用 tinyint?
我主要使用纯 sql(没有实体框架或 linq 等),并尽量保持简单。我没有使用触发器等东西。我确实使用存储过程,但如果必须,它们可以用普通的 sql 替换。
c - C中的可移植线程安全?
目的
我正在编写一个小型库,其可移植性是最关心的问题。它被设计成只假设一个最符合 C90 (ISO/IEC 9899:1990) 的环境......仅此而已。该库提供的一组函数都对内部数据结构进行操作(读/写)。我已经考虑了其他一些设计替代方案,但对于图书馆试图实现的目标似乎没有其他可行的方法。
问题
是否有任何可移植的算法、技术或咒语可用于确保线程安全?我不关心使功能可重入。此外,如果算法/技术/咒语是可移植的,我不关心速度或(可能)浪费资源。理想情况下,我不想依赖任何库(例如 GNU Pth)或特定于系统的操作(例如原子测试和设置)。
我考虑过修改Lamport's bakery algorithm,但我不知道如何将其更改为在线程调用的函数内部工作,而不是在线程本身中工作。
任何帮助是极大的赞赏。
sql - 可移植 SQL 确定表是否存在?
是否有一种可移植的方法来确定数据库表是否已经存在?
c++ - 一个如何包括TR1?
不同的编译器似乎对 TR1 有不同的想法。G++ 似乎只接受包含以下类型:
而微软的编译器只接受:
至于我对TR1的理解,微软的方式是正确的。
有没有办法让 G++ 接受第二个版本?一般人如何以便携的方式处理 TR1?
c - 如何在 C 中声明一个 32 位整数
在任何平台上声明始终为 4 字节的整数类型的最佳方法是什么?我不担心具有 16-bit 的某些设备或旧机器int
。
c++ - 谁能告诉我如何编写一个简单的 C++ 代码来将我的数据(从变量)导出到 PDF 文件而不使用任何外部库或实用程序?
谁能告诉我如何编写一个简单的 C++ 代码来将我的数据(从变量)导出到 PDF 文件而不使用任何外部库或实用程序?
c - 大型 C 程序的 GUI 方法
在我们的生物信息学实验室,我们最近被要求为用 C 编写(和优化)的程序创建一个 GUI。我们设计的任何 GUI 都需要能够向 C 程序提供输入并接收来自 C 程序的输出,同时也很容易可移植到 Windows 和 Mac。有什么方法可以做到这一点?
serialization - 跨不同 cpu 架构的双倍?
是否可以通过网络发送双浮点值(当然要针对正确的字节顺序进行调整)并在不同的 cpu 架构上互换使用它们,特别是 i386、mips(几个不同的内核)、powerpc(e300、e500)。没有非常旧的硬件。
使用 gcc 4.2.1 作为带有 -Os 的编译器,适用于所有架构。
据说它到处都是 IEEE-754 标准(是吗?),但正如维基百科所说:
IEEE 754-1985 允许实现中的许多变化(例如某些值的编码和某些异常的检测)。IEEE 754-2008 已经收紧了其中的许多内容,但仍然存在一些变化(尤其是二进制格式)。
我不打算传递 NaN 或其他特殊的东西,只是有效的十进制数字。