python调用cpp的方法步骤
这篇文章将为大家详细讲解有关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的方法步骤就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。