3

我有一个 C++ 程序接收来自用户的呼叫。其中一些调用应该由 python 脚本处理。这就是我的做法:

  • Py_Initialize()开始时,它使用并加载一些模块和函数来加载 Python 解释器。我保留对它们的引用。这行得通。
  • 在每次调用时,都会调用相应的函数

第一次效果很好,但第二次调用时我总是遇到分段错误PyObject_CallObject。我已尝试使用Calling python method from C++ (or C) callback中的提示修复此问题,但它仍然不起作用。

此外,如果我尝试运行PyRun_SimpleString("import <module_name>"),我也会遇到分段错误!而这一次我什至没有使用参考。

注意:初始化是通过单例模式完成的,所以第一次调用会在初始化之后立即发生。

4

0 回答 0