- 首先编写一个cpp文件,名字为"add_func.cpp",内容如下:
cpp
#include <pybind11/pybind11.h>
#include <iostream>
namespace py = pybind11;
int add(int i, int j){
return i+j;
}
void inadd(){
int a, b;
std::cin>>a>>b;
std::cout<<a+b;
}
PYBIND11_MODULE(add_func, m){
m.doc() = "pybind11 example plugin";
m.def("add", &add, "A function which adds two numbers");
m.def("inadd", &inadd, "cin and cout");
}
- 在终端输入:
bash
c++ -O3 -Wall -shared -std=c++11 -fPIC $(python3 -m pybind11 --includes) add_func.cpp -o add_func$(python3-config --extension-suffix)
编译完成后,该文件夹下就会出现一个名为add_func.cpython-39-x86_64-linux-gnu.so
的文件夹
- 此时在该文件夹下打开终端,输入
python
;
python
import add_func
add_func(1, 2)
此时终端就会打印出3