当前位置: 首页 > 图灵资讯 > 行业资讯> python 如何调用cpp

python 如何调用cpp

来源:图灵python
时间: 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)