0

我有一个以 64 位编译并与之对齐的库。

问题是这个库也应该与 32 位进程一起工作(现在它将只与 64 位进程链接)并且也应该与 32 位对齐。

有没有办法让它同时与 32 位和 64 位对齐?

4

2 回答 2

2

基本上没有,不是没有重新编译。

以 64 位编译的 DLL 使用仅在 64 位模式下可用的 CPU 功能(额外指令/额外寄存器/...),这意味着处于 32 位模式的 CPU 无法执行代码。

于 2013-08-04T06:37:20.623 回答
1

有一种东西叫FatELF ……但不知道走​​了多远。基本上在一个可执行文件/库中,您放置了多个版本的程序(一个用于 32 位,一个用于 64 位,一个用于 Arm,......)(称为“技术” Fat binary

可悲的是,我认为它已经死了......他们存储库的最后一次提交是Thu, 22 Nov 2012 12:39:53 -0500 ...

于 2013-08-04T07:08:42.073 回答