将32位库链接到64位程序
答
不可以。您不能直接链接到64位程序中的32位代码。
最好的选择是编译一个32位(独立)程序,可以run on your 64bit platform (using ia32),然后使用一种进程间通信的形式从它的64位程序进行通信。
答
这是可能的,但并非没有幕后的一些严重的魔法,你会不喜欢的答案。要么模拟一个32位CPU(不,我不是在开玩笑),或者将主进程切换回32位。尽管模拟可能会很慢。
该技术的This is a proof of concept。
然后保留的表,每存储器访问和从32位库保持同步。要达到理论完整性是非常困难的,但可行的事情应该很容易,但非常乏味。
在大多数情况下,我相信两个进程,然后IPC两者之间实际上可能是最简单的,如建议othwerwise。
我要建议重新编译库代码靶向64位,但让你没有源给它的印象......我怀疑,如果一个64位代码可以“咚”对面32bit..maybe它可以在linux的gcc?但是,这个'thunking'是Win95的一个特性(记住那个?)32位代码调用16位代码...你是否试过链接引用32位动态库(.so)的64位代码并运行它? – t0mm13b 2009-12-22 01:33:32
在任何现代64位操作系统中都没有“thunking”等值。这不起作用。 – 2009-12-22 01:42:57