Python 调用包含Py_Initialize()的函数;第二次给出错误:分段错误 我将C++嵌入到C++中,下面是我的C++代码示例,其中包含PyrPrimalPyPyPialPial化函数,后面的main函数调用函数两次: int testfunction() { Py_Initialize(); PyRun_SimpleString("import os, sys \nsys.path.insert(0, '/home/myproject/')"); PyObject *pName, *pArgs, *pReturn, *pModule, *pFunc; pName = PyUnicode_FromString("evaluation"); pModule = PyImport_Import(pName); pFunc = PyObject_GetAttrString(pModule, "main_py"); //my code Py_Finalize(); } int main() { testfunction(); //runs fine testfunction(); //segmentation fault }
第一次调用函数时,它运行正常,但第二次失败。当我使用Py_Initialize()时,问题就解决了;和Py_Finalize();在main函数中,但我不想使用Py_Initialize();和Py_Finalize();在主要功能中。有解决办法吗Python 调用包含Py_Initialize()的函数;第二次给出错误:分段错误 我将C++嵌入到C++中,下面是我的C++代码示例,其中包含PyrPrimalPyPyPialPial化函数,后面的main函数调用函数两次: int testfunction() { Py_Initialize(); PyRun_SimpleString("import os, sys \nsys.path.insert(0, '/home/myproject/')"); PyObject *pName, *pArgs, *pReturn, *pModule, *pFunc; pName = PyUnicode_FromString("evaluation"); pModule = PyImport_Import(pName); pFunc = PyObject_GetAttrString(pModule, "main_py"); //my code Py_Finalize(); } int main() { testfunction(); //runs fine testfunction(); //segmentation fault },python,c++,segmentation-fault,embedding,Python,C++,Segmentation Fault,Embedding,第一次调用函数时,它运行正常,但第二次失败。当我使用Py_Initialize()时,问题就解决了;和Py_Finalize();在main函数中,但我不想使用Py_Initialize();和Py_Finalize();在主要功能中。有解决办法吗