Windows 上的 __cdecl 或 __stdcall?
我目前正在为 Windows 开发一个 C++ 库,它将作为 DLL 分发。我的目标是最大化二进制互操作性;更准确地说,我的 DLL 中的函数必须可以从使用多个版本…
C++和二进制兼容性:按值返回 POD 结构
考虑以下 C++ 代码: struct X { int a; int b; }; X foobar() { X x = { 1, 2 }; return x; } 现在假设此代码放入共享库中,由第三方应用程序使用。 …
如何设计我的 Java / C# 库,使其在未来发生变化时保持二进制兼容?
任务:我正在设计一个供开发人员使用的库。 目标:我需要确保未来版本中的更改不会影响现有开发人员。 示例: 第一次发布时的情况: 只有一个类 publi…
在 Linux 中为所有 x86 机器创建通用二进制文件
我正在尝试编译一个开源项目的二进制文件,以便我们的用户不必自己编译它。 我注意到在一台 32 位 ubuntu 计算机“A”上创建的一些二进制文件无法在 3…
JDK是“向上”的吗?或“向后”。兼容的?
向后二进制兼容性(或向下兼容性)- 使用旧版本库 API 构建的客户端在新版本库 API 上运行的能力 (wiki)。 向上二进制兼容性(或前向兼容性)- 使用…
avr-gcc 3.4.0 和 avr-gcc 4.3.x 之间的二进制兼容性
我继承了一个链接到一个库的应用程序,该库可能是用 gcc3 构建的。或者也许使用 imagecraft 编译器。这些信息现在已经消失在天堂般的位字段中,我留下…