python - 使用 CDLL lib(或其他)在 Debian 64 位上使用 python 访问 32 位

标签 python ubuntu debian 32bit-64bit ctypes

多年来,我一直在尝试在 64 位 Ubuntu 中访问 32 位 C 编译的库。我正在使用 python 和 CDLL lib 来实现它,但到目前为止没有成功。我可以轻松地在 32 位操作系统上打开相同的 32 位库,并在 64 位操作系统上打开 64 位版本。

所以,我想问的是,是否有人知道封装/沙盒/包装库的方法,以便我可以实现我的目标。这样我就可以使用单个 64 位服务器来访问这些库的 32 位和 64 位版本。

如果有人知道另一个可以解决问题的 python 库,请告诉我。

最佳答案

我不确定您是否可以在同一个进程中执行此操作 - 我们在这里讨论算术:32 位指针与 64 位指针不同,因此尝试在同一个进程中引用它们......好吧,我不确定当尝试访问不可访问或不应访问的内存区域时会发生什么(我猜是段错误?)。

我能想到的唯一解决方案是拥有一个单独的 Python 32 位实例,该实例在其自己的进程中运行。然后,使用某种形式的 IPC,您可以从 64 位实例调用 python32 位实例。

关于python - 使用 CDLL lib(或其他)在 Debian 64 位上使用 python 访问 32 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221468/

相关文章:

c# - 将数据从 Unity 发送到 Raspberry

python - 仅转换每列的第一个和最后一个填充值之间的 nan

python - pyspark : How to apply to a dataframe value another value depending on date in another dataframe

linux - 无效的符号链接(symbolic link)无法删除或更新

usb - 智能卡读写器 ACR122U 没有唯一的序列号

sql-server - FREETDS 和 UNIXODBC 字符转换

python - 如何在Python中获取下载按钮的url并读取CSV文件?

ubuntu - 已在 Virtualbox 中运行的 Ubuntu 中未启用 VT-X/AMD-v

linux - 在 rfcomm 连接上禁用 AT 命令

c - 使用 cat 读取字符设备驱动程序时参数无效