python 如何调用cpp
发布时间:2025-12-14 16:50:37

一、写cpp
这个cpp的功能是 “加法器”,extern “C因为python存在 ctype可以调用C,但没有cplustype~~~所以,~~~
#include"/home/oujie/Anaconda3//envs/pytorch-master/include/python3.7m/Python.h"
#在这个函数中实现功能
extern"C"
intadd_func(inta,intb)
{
returna+b;
}
#以下是调用相关API转换数据格式,使Python可以调用,这也是Python头文件中的定义
extern"C"
staticPyObject*_add_func(PyObject*self,PyObject*args)
{
int_a,_b;
intres;
if(!PyArg_ParseTuple(args,"ii",&_a,&_b))
returnNULL;
res=add_func(_a,_b);
returnPyLong_FromLong(res);
}
extern"C"
staticPyMethodDefCppModuleMethods[]=
{
{
"add_func",
_add_func,
METH_VARARGS,
""
},
{NULL,NULL,0,NULL}
};
extern"C"
PyMODINIT_FUNCinitcpp_module(void)
{
(void)Py_InitModule("cpp_module",CppModuleMethods);
}二、编译以上CPP
#下面的linux编译成so gcc-oadd_demo.so-shared-fPICadd_demo.c #将windows编译成dlll
三、写python文件调用
importctypes
dll=ctypes.cdll.LoadLibrary
lib=dll("./add_demo.so")
print("pythoncallcppso:")
p=lib.add_func(2,3)
print(p)
下一篇 python 如何键入
