我有一个C ++程序接收来自用户的电话。其中一些调用应该由python脚本处理。我就是这样做的:
Py_Initialize()
加载Python解释器并加载一些模块和函数。我保留对它们的引用。这很有效。它第一次运行良好,但第二次调用PyObject_CallObject
时总是出现分段错误。我尝试使用Calling python method from C++ (or C) callback中的提示修复此问题,但它仍然不起作用。
此外,如果我尝试运行PyRun_SimpleString("import <module_name>")
,我也会遇到分段错误!而这次我甚至没有使用参考文献。
注意:初始化是通过单例模式完成的,因此第一次调用在初始化后立即发生。