0
点赞
收藏
分享

微信扫一扫

python调用c++的方法,加速运算

炽凤亮尧 2022-10-09 阅读 33


cpp源代码

#include "iostream"

using namespace std;

class Calc {
public:
int add(int a, int b);
};

int Calc::add(int a, int b) {
cout << "收到参数为a,b: " << a << " " << b << endl;
return a+b;
}

extern "C" {
Calc calc;
int add(int a, int b) {
return calc.add(a, b);
}
};

编译cpp代码成so动态库

g++  -o add.so -shared -fPIC add.cpp

# 如果c++代码路由cout 中文乱码再用下面这个
g++ -finput-charset=UTF-8 -fexec-charset=GBK -o add.so -shared -fPIC add.cpp

python代码

import ctypes

dll = ctypes.cdll.LoadLibrary

calc_lib = dll('./add.so')

r = calc_lib.add(3, 5)
print(r)

输出

PS D:\workspace\hellocpp> python .\app.py
收到参数为a,b: 3 5
8


举报

相关推荐

0 条评论