python调用c++的方法是什么

本篇内容介绍了“python调用c++的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

公司主营业务:做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出沙坪坝免费做网站回馈大家。

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

“python调用c++的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站栏目:python调用c++的方法是什么
文章源于:http://pwwzsj.com/article/jdehjd.html