2012-01-14 168 views
2

可能重复:
Linking 32-bit library to 64-bit program32位和64位代码可以混合使用吗?

一项所述的程序使用的程序库,需要静态链接的,是一个32位的一个。如果使用64位编译器进行编译,则会中断,主要是因为变量类型的长度不同(大多数情况下长为两倍)。提供了库的源代码。 程序本身在32位和64位工作。 是否可以将库编译为32位并将其静态链接到64位应用程序?

回答

5

基本上,不,您无法静态或动态地链接32位和64位代码,而不是x86。

什么可以 do是编写一个包装,运行在一个单独的进程,并使用RPC“链接”库到您的代码。 Linux上的nspluginwrapper可以做类似于Flash的操作。

3

没有它不可能。你不能从64位代码中调用任何32位库。你必须把它们放在不同的地址空间。

利用它的一种方法是使用进程间通信(管道,套接字等)。