由于我还是新手,所以我遇到了一些问题,这是我的 C++ 代码:
#include <python.h>
#define DLLEXPORT extern "C" __declspec(dllexport)
DLLEXPORT PyObject *Add(PyObject *pSelf, PyObject *pArgs)
{
int s,d;
if(!PyArg_ParseTuple(pArgs, "ii" , &s, &d))
{
PyErr_SetString(PyExc_TypeError,
"Add() invalid parameter");
return NULL;
}
return Py_BuildValue("i", s + d);
}
和 Python 代码:
import ctypes
MyDll = ctypes.cdll.LoadLibrary(r"PyToCppTest.dll")
jj = MyDll.Add(1,2)
运行上述 Python 代码时出现错误:
OSError:异常:访问冲突读取 0x000000000000000A
我想在不转换的情况下将数据从 Python 传递到 C++,然后在 C++ 中进行转换。