在64位C++程序中使用32位库

zle*_*eba 7 c++ unix 32bit-64bit

有没有办法在64位系统中使用旧的32位静态库*.a.没有机会获得这个旧库的源代码再次编译它.我也不想在gcc中使用-m32,因为该程序使用了许多64位库.谢谢.

Ste*_*non 7

这完全取决于您运行的平台.例如,PowerPC上的OS X就是"Just Work".

在x86平台上,您无法将32位库链接到64位可执行文件.如果你确实需要使用该库,你需要启动一个单独的32位进程来处理图书馆您的来电,并使用某种形式的IPC来传递您的64位应用程序和辅助器进程之间的通话.预先警告:这很麻烦.在开始这条道路之前确保你真的需要那个图书馆.


fox*_*oxy 0

简单的回答:你不能。