python如何调用cpp文件的接口函数_python 如何调用cpp
时间: 2023-07-05 11:31:10 浏览: 159
调用函数求n个a.cpp
文件的接口函数?
Python可以通过ctypes模块调用C++的函数,具体步骤如下:
1.需要在C++中编写一个动态链接库(.dll或.so文件),其中包含要调用的函数。
2.在Python中导入ctypes模块。
3.使用ctypes.CDLL函数加载C++动态链接库。
4.使用ctypes中的函数原型定义声明C++中的函数。
5.使用ctypes中的函数调用C++中的函数。
示例如下:
C++代码(test.cpp):
```
#include <iostream>
using namespace std;
extern "C" // 需要用extern "C"修饰,否则Python无法调用
{
int add(int a, int b); // 声明add函数
}
int add(int a, int b)
{
return a + b;
}
```
编译生成动态链接库:
```
g++ -shared -fPIC test.cpp -o libtest.so
```
Python代码:
```
import ctypes
# 加载动态链接库
libtest = ctypes.CDLL('./libtest.so')
# 声明函数原型
libtest.add.argtypes = [ctypes.c_int, ctypes.c_int]
libtest.add.restype = ctypes.c_int
# 调用函数
result = libtest.add(1, 2)
print(result) # 输出:3
```
这样就可以通过Python调用C++函数了。需要注意的是,在C++中声明的函数需要用extern "C"修饰,否则Python无法调用。同时需要注意函数参数和返回值的类型定义。
阅读全文