python - C++ 应用程序因嵌入式 Python 代码而崩溃
问题描述
根据本教程中的示例,我正在尝试在 C++ 应用程序中运行 Python 代码。只需运行一个脚本,一切正常:
char filename[] = "D:\\Docs\\Embedding\\bin\\Debug\\load_continiuous_snl_data.py";
FILE* fp;
Py_Initialize();
fp = _Py_fopen(filename, "r");
PyRun_SimpleFile(fp, filename);
Py_Finalize();
但是当我尝试将脚本作为模块导入时,应用程序崩溃
std::vector<int> ExampleData(5);
for(int i=0;i<5;i++)
{
ExampleData[i] = i+1;
}
PyObject *pName,*pModule,*pFunc,*pname;
PyObject *pValue,*pArgs,*pDict;
Py_Initialize();
pName = PyUnicode_FromString("D:\\Docs\\Embedding\\bin\\Debug\\load_continiuous_snl_data.py");
//pModule = PyImport_Import(pname); //running without this line doesn't lead to crashing
Py_Finalize();
我正在使用Python 3.7 32bit on Windows
. 提前感谢您的任何建议。
解决方案
推荐阅读
- c++ - 跳过函数本地静态对象的构造函数调用
- google-play - Play 管理中心 - IAP 的预计收入为 0,为什么?
- wordpress - Wordpress 嵌入帖子不适用于自定义帖子类型
- swift - 有没有办法通过 Apple Watch 计算出心率采样率?
- javascript - 虽然使用 html video 标签在桌面和 android 上工作正常,但 IOS 系统看起来是白色的海报填充当视频工作时,没有问题
- python - 如何指定输入参数
- arrays - Firebase / Firestore 是否按存储顺序返回数组?
- python - 当另一个线程在python中完成时如何停止一个线程?
- java - 如何将图像类型二进制转换为 Blob
- mysql - 从同一个表中选择父母和父母的孩子并按顺序排列