温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何调用c++提升运算

发布时间:2023-02-21 09:33:08 来源:亿速云 阅读:125 作者:iii 栏目:编程语言

这篇“python如何调用c++提升运算”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python如何调用c++提升运算”文章吧。

代码如下:

#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++提升运算”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI