Python から ac 関数を呼び出そうとして (以前の投稿Python ファイルから C 関数を呼び出す. Setup.py ファイルを使用するとエラーが発生する)、コードを .pyd ファイルにコンパイルし、プログラムをテストしています。ただし、エラーに遭遇しています
AttributeError: 'module' object has no attribute 'addTwo'
私のテストファイルは次のとおりです。
import callingPy
a = 3
b = 4
s = callingPy.addTwo(a, b)
print("S", s)
callingPy は、コンパイルによって次の .c ファイル (.pyd に変換) です。
#include <Python.h>
#include "adder.h"
static PyObject* adder(PyObject *self, PyObject *args)
{
int a;
int b;
int s;
if (!PyArg_ParseTuple(args,"ii",&a,&b))
return NULL;
s = addTwo(a,b);
return Py_BuildValue("i",s);
}
/* DECLARATION OF METHODS*/
static PyMethodDef ModMethods[] = {
{"modsum", adder, METH_VARARGS, "Descirption"},
{NULL,NULL,0,NULL}
};
// Module Definition Structure
static struct PyModuleDef summodule = {
PyModuleDef_HEAD_INIT,"modsum", NULL, -1, ModMethods
};
/* INITIALIZATION FUNCTION*/
PyMODINIT_FUNC PyInit_callingPy(void)
{
PyObject *m;
m = PyModule_Create(&summodule);
return m;
}
どんな助けでも大歓迎です!ありがとうございました。