2

我有一个嵌入 Python 并与 Python 动态库链接的程序(用 C 和 C++ 编写)。目前它使用 Python 2.6,但要求是使用机器上安装的任何版本(目前是 2.6 或 2.7;目前没有计划支持 3.x)。那怎么可能呢?

一个明显的方法是使用dlopen()/动态加载任何可用的库LoadLibrary(),并获取我需要的函数地址。

问题是有些数据结构可能在 2.6 和 2.7 之间发生了变化。如果我针对 2.6 头文件编译我的程序,它会针对 2.7 工作吗?支持这样的事情吗?

另一种选择是针对 2.6 和 2.7 分别编译程序(或至少负责 Python 接口的模块),并分发两个单独的版本。这显然是不可取的。

我还缺少其他方法吗?

平台是 Windows 和 Linux。

4

0 回答 0