首页 / 知识
python 如何调用cpp
2023-11-12 13:28:00
一、写一个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下编译成dll
三、写一个python文件调用
importctypes
dll=ctypes.cdll.LoadLibrary
lib=dll("./add_demo.so")
print("pythoncallcppso:")
p=lib.add_func(2,3)
print(p)
以上内容为大家介绍了python如何调用cpp,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
使用Python的toolz库开始函数式编
使用Python的toolz库开始函数式编程,代码,函数,培训,位置,参数,字典,顺序,操作,结果,测试,toolz库允许你操作函数,使其更容易理解,更容易测试代python之什么是函数式编程?
python之什么是函数式编程?,系统,概念,项目,大规模,状态,数据,培训,函数,语言,副作用,函数式编程(简称FP)是一种编程范式,其中最基本的元素是Python 里面的一些小技巧
Python 里面的一些小技巧,分析,代码,培训,字典,条件,表示,表达式,下面,里面,列表,三元条件判断的3种实现方法C语言中有三元条件表达式,如a>b?a怎么在Python装饰器中自定义功能呢
怎么在Python装饰器中自定义功能呢?,代码,包装,环境,名称,工具,名字,变动,业务,主体,面临,setattr和getattr操作首先我们来看下setattr和geta网络功能对于Python的意义
网络功能对于Python的意义,网络,项目,标准,工作,通信,培训,管理,数据,位置,功能,现在,网络功能的强弱很大程度上决定了一个语言的成功与否。从python内置函数:map、reduce、filte
python内置函数:map、reduce、filter的用法和区别,数据,培训,数字,函数,序列,内容,元素,参数,列表,个数,map:根据函数对指定序列做映射map参数Python之列举常见的内置函数
Python之列举常见的内置函数,数字,数据,函数,名字,培训,一致,元素,对象,列表,参数,abs()返回数字的绝对值map根据函数对指定序列做映射map()python函数调用和参数传递
python函数调用和参数传递,位置,培训,函数,变量,参数,指针,例子,内存,整数,操作,定义过函数后,就可以在后面程序中使用这一函数printsquare_suPython什么是函数式编程?
Python什么是函数式编程?,状态,技术,代码,系统,数据,函数,工作,培训,地方,边界,函数式编程使用一系列的函数解决问题。函数仅接受输入并产生Python算法定义
Python算法定义,有限,时间,数据,算法,情况,培训,系统,策略,复杂度,步骤,算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的python函数式编程到底是个什么
python函数式编程到底是个什么,状态,函数,培训,名称,概念,术语,指数,数据,命令,变量,一概念(函数式编程)函数式编程是一种编程范式,我们常见的Python 递归函数
Python 递归函数,第一,第三,培训,个人,人大,函数,程序,条件,以此类推,例题,递归:函数调用自己本身递归的核心:1)递归推导式2)递归终止条件不过