这篇文章将为大家详细讲解有关python调用cpp的方法步骤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、写一个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下面编译成sogcc-oadd_demo.so-shared-fPICadd_demo.c#windows下编译成dll

三、写一个python文件调用

importctypesdll=ctypes.cdll.LoadLibrarylib=dll("./add_demo.so")print("pythoncallcppso:")p=lib.add_func(2,3)print(p)

关于python调用cpp的方法步骤就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。