64位库,应该与32位和64位进程一起使用

时间:2013-08-04 06:28:53

标签: c linux 64-bit 32bit-64bit 32-bit

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

问题是这个库也应该使用32位进程(现在它只能与64位进程链接),并且也应该与32位对齐。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

可悲的是,我认为它已经死了......最后一次提交到他们的存储库是星期四,2012年11月22日12:39:53 -0500 ......

相关问题