写一个python和c++互通的代码
时间: 2024-02-06 19:02:51 浏览: 137
python与c++交互样例代码
当然可以!下面是一个简单的示例代码,演示了如何在Python和C++之间进行互通首先,我们需要编写一个C++的函数,该函数会将传入的整数加上一个固定的值并返回结果:
```cpp
// add.cpp
extern "C" {
int add(int x) {
return x + 5;
}
}
```
接下来,我们将使用CMake来构建一个动态链接库,以便在Python中引用该函数。创建一个名为`CMakeLists.txt`的文件,并将以下内容复制到其中:
```
cmake_minimum_required(VERSION 3.10)
project(add)
set(CMAKE_CXX_STANDARD 11)
add_library(add SHARED add.cpp)
```
然后,在命令行中执行以下命令来生成动态链接库文件:
```shell
$ cmake .
$ make
```
现在,我们已经生成了`add.so`文件。
接下来,我们将编写Python代码来调用C++函数。在Python脚本中,我们将使用`ctypes`模块加载C++动态链接库并调用其中的函数:
```python
# main.py
import ctypes
# 加载动态链接库
add_lib = ctypes.CDLL('./add.so')
# 指定函数返回类型和参数类型
add_lib.add.restype = ctypes.c_int
add_lib.add.argtypes = [ctypes.c_int]
# 调用C++函数
result = add_lib.add(10)
print(result)
```
现在,我们可以运行Python脚本来测试代码:
```shell
$ python main.py
```
输出应该为15,因为C++函数将输入的整数加上了5。
这就是一个简单的Python和C++互通的示例代码。你可以根据自己的需求进行扩展和修改。
阅读全文