win10环境下使用python调用c++代码中的函数

1、使用ctypes库

ctypes是Python的标准库,用于与C语言兼容的动态链接库进行交互。以下是一个简单的示例:

C++代码(example.cpp):

#include <iostream>

extern "C" {
    __declspec(dllexport) int add(int a, int b) {
        return a + b;
    }
}

编译C++代码:

g++ -shared -o example.dll example.cpp

若编译c语言代码,仅需要将g++更换成gcc即可。
这步需要注意 g++或gcc版本必须与python版本一致同为32位或64位。

Python代码:

from ctypes import cdll

# 加载动态链接库
my_lib = cdll.LoadLibrary("path/to/example.dll")

# 调用C++函数
result = my_lib.add(2, 3)
print("Result:", result)

2、使用cffi库

cffi是另一个用于与C语言兼容的库进行交互的工具,它提供了一些比ctypes更高级的功能。

安装cffi库:

pip install cffi

Python代码:

from cffi import FFI

ffi = FFI()

# 加载动态链接库
my_lib = ffi.dlopen("path/to/example.dll")

# 定义C++函数的接口
add = my_lib.add
add.argtypes = [ffi.int, ffi.int]
add.restype = ffi.int

# 调用C++函数
result = add(2, 3)
print("Result:", result)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值