私はまだこれに慣れていないので、いくつかの問題に直面しています。これが私の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++内で変換したいと思います。