python 如何调用cpp

来源:千锋教育
发布时间:2023-11-08 12:54:03
分享

一、写一个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相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python如何导入txt数据库? python将TXT数据导入数据库的方法代码如下:#!/usr/bin/python#coding=utf-8import_mysql,sys,time#读入数据函数defadd_data(id,na
  • python如何replace(替换)多个字符? python中使用replace替换多个字符的方法:1、使用replace方法替换多个相连的字符#!/usr/bin/pythonstr="thisisstringexample....wow!!!t
  • python终端输出乱码怎么解决? 在命令行终端上工作时,经常会碰到一个头疼的问题就是中文乱码。下面我们就来看一下解决python在终端输出乱码的解决方法。牵涉编码的地方一共有五处:Python代码文件前两行声明的编码Python代码文
  • python使用matplotlib绘图怎么在线上标注? python画图常用标注包含,坐标轴的值和描述,legand对图像中的线描述,图像任意地方添加文字描述等。python使用matplotlib绘图在线上标注的方法:示例添加X/Y轴范围设置,及注释:i
  • python实现报表用什么? python中可以使用xlwt与xlrd库读写Excel报表。xlwtPython语言中,写入Excel文件的扩展工具。可以实现指定表单、指定单元格的写入。xlrdPython语言中,读取Excel的
  • 文本处理用c还是用python 文本处理python与c的对比:如下c++语言:C++语言实现C++中没有实现split功能的函数,下面用C++STL中的一些函数模拟实现split功能。#include#include#includ