python如何调用c++提升运算
这篇“python如何调用c++提升运算”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python如何调用c++提升运算”文章吧。
成都创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目网站制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元灵山做网站,已为上家服务,为灵山各地企业和个人服务,联系电话:13518219792
代码如下:
#include "iostream" using namespace std; class Calc { public: int add(int a, int b); void sf(); }; int Calc::add(int a, int b) { cout << "收到参数为a,b: " << a << " " << b << endl; return a + b; } void Calc::sf() { for (int i = 0; i < 1001; i++) { for (int j = 0; j < 1001; j++) { for (int k = 0; k < 1001; k++) { if (i * i + j * j == k * k && i + j + k == 1000) { cout << i << "," << j << "," << k << endl; } } } } } extern "C" { Calc calc; int add(int a, int b) { return calc.add(a, b); } void sf() { calc.sf(); } };
g++ -finput-charset=UTF-8 -fexec-charset=GBK -o add.so -shared -fPIC add.cpp
import ctypes import time dll = ctypes.cdll.LoadLibrary calc_lib = dll('./add.so') r = calc_lib.add(3, 5) print(r) t1 = time.time() # 运算300多秒 5分钟 # for i in range(1001): # for j in range(1001): # for k in range(1001): # if i * i + j * j == k * k and i + j + k == 1000: # print(i, j, k) # 运行1.6s即可完成 calc_lib.sf() t2 = time.time() print(t2-t1)
以上就是关于“python如何调用c++提升运算”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。
本文名称:python如何调用c++提升运算
本文来源:http://cdiso.cn/article/pjjgeg.html