2013-08-04 157 views
0

我有一个库编译为64位,并与它对齐。64位库,应该与32位和64位进程工作

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

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

+4

简短回答:没有。 – Mat

+0

对齐如何?我可以将库对齐到32位和64位吗? – user1120875

+0

即使有可能,这也是毫无意义的。 – Mat

回答

2

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

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

+0

对齐如何?我可以将库对齐到32位和64位吗? – user1120875

1

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

很遗憾,我认为它已经死了...最后一次提交到他们的仓库是Thu,22 Nov 2012 12:39:53 -0500 ...

+0

对齐如何?我可以将库对齐到32位和64位吗? – user1120875