将C代码编译为Python模块

北京治疗白癜风多少钱 https://disease.39.net/bjzkbdfyy/170618/5469158.html

C++功能强大,具有广泛的是用户基础,所以很多产品的API都是基于C++提供的。Python的简洁和高效也是无需多言,是很多工程师和项目的首选。那么如果遇到了仅提供C++API的产品,但想通过Python进行二次项目研发的情况该如何处理呢?

通过Python调用C++函数的方法有很多,像Boost,Pybind11等都可实现,经过综合测试和评估,最后选择了Pybind11。

一、安装pybind11

Ubuntu20.04上安装方法:

sudoaptinstallpybind11-devpython3-pybind11

二、创建一个Demo

首先创建一个C++的计算两个数之和的sum2num.cpp:

#includepybind11/pybind11.h

namespacepy=pybind11;

intadd(inti,intj){

returni+j;

}

PYBIND11_MODULE(sum2num,m){

m.doc()="pybind11example";

m.def("add",add,"Afunctionwhichaddstwonumbers");

}

主要


转载请注明:http://www.aierlanlan.com/tzrz/5850.html