首先,我们需要一个头文件来定义模块的接口,命名为 addition.h
,内容如下:
#ifndef ADDITION_H
#define ADDITION_H
int add(int x, int y);
#endif
然后,我们编写实现加法计算的源文件 addition.cpp
,内容如下:
#include "Python.h"
#include "addition.h"
static PyObject* add_wrapper(PyObject* self, PyObject* args) {
int x, y, result;
if (!PyArg_ParseTuple(args, "ii", &x, &y)) {
return NULL;
}
result = add(x, y);
return Py_BuildValue("i", result);
}
int add(int x, int y) {
return x + y;
}
static PyMethodDef addition_methods[] = {
{"add", add_wrapper, METH_VARARGS, "Add two numbers"},
{NULL, NULL, 0, NULL}
};
static struct PyModuleDef addition_module = {
PyModuleDef_HEAD_INIT,
"addition",
"Addition module",
-1,
addition_methods
};
Py