通过C ++程序执行python脚本时崩溃

时间:2019-05-25 21:13:24

标签: python c++ windows codeblocks

我在Windows 10上使用code :: blocks v16.01。 试图执行我通过python api从我的c ++程序编写的python脚本(v3.7.3)。

我可以看到脚本确实独立运行,但是从c ++程序运行,线程不会返回继续运行,并且迷路了,并停留在python执行行“ PyRun_SimpleFile(file,Xi_Path.c_str()) ;“出现细分错误。

我可以看到python脚本有效,因为它假定更改了xml文件并且确实发生了更改。

这是我使用的代码:

Py_SetProgramName(l_path);
Py_Initialize();
PySys_SetArgv(5, wargs);
FILE* file = fopen(Xi_Path.c_str(),"rb+");
PyRun_SimpleFile(file, Xi_Path.c_str());
Py_Finalize();

试图将“ rb +”更改为“ r +”,但未更改。 使用python v2.7时出现相同的错误

我从here那里遇到了本文档,这可能会引起一些启发:

”,还要注意,其中一些函数带有FILE *参数。需要特别处理的一个特殊问题是,不同C库的FILE结构可能不同且不兼容。在Windows(至少)下,动态链接的扩展实际上可能使用不同的库,因此应注意,只有在确定FILE *参数是由Python运行时使用的同一库创建的情况下,才将FILE *参数传递给这些函数。 strong>

但是我不确定我的意思。

有什么建议吗?

0 个答案:

没有答案