将32位库链接到64位程序

我有一个32位.so二进制只有库,我必须生成使用它的64程序。 有没有一种方法来包装或转换它,所以它可以用于64位程序?

Solutions Collecting From Web of "将32位库链接到64位程序"

不可以。您不能直接链接到64位程序中的32位代码。

最好的选择是编译一个可以在64位平台上运行的32位(独立)程序(使用ia32) ,然后使用一种进程间通信的形式从64位程序与之通信。

有关使用IPC从64位代码运行32位插件的示例,请查看开源NSPluginWrapper 。

这是可能的,但不是没有背后的一些严重的魔术,你不会喜欢的答案。 要么模仿一个32位的CPU(不,我不是在开玩笑),或将主进程切换回32位。 虽然模拟可能会很慢。

这是该技术概念的证明 。

然后保存每个内存访问32位库的表格并保持同步。 要达到理论的完整性是非常困难的,但是可行的事情应该是相当容易的,但是非常繁琐。

在大多数情况下,我相信两个进程,然后IPC之间可能实际上是最简单的,正如更深的建议。