使用全局变量调用PyObject_CallObject时出现分段错误

2024-03-28 16:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我有一个C++程序接收用户的调用。其中一些调用应该由python脚本处理。我是这样做的:

  • 在开始时,它使用Py_Initialize()加载一个Python解释器,并加载一些模块和函数。我一直在引用它们。这很管用。在
  • 每次调用时,都会调用相应的函数

第一次很好,但是第二次我总是在调用PyObject_CallObject时出现分段错误。我尝试过用Calling python method from C++ (or C) callback中的提示来修复此问题,但仍然不起作用。在

而且,如果我尝试运行PyRun_SimpleString("import <module_name>"),我也会得到一个分段错误!这一次我甚至不用参考文献。在

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


Tags: 模块函数用户frompy程序脚本错误