python 调用C++
时间: 2023-09-02 10:15:38 浏览: 147
Windows系统Python直接调用C++ DLL的方法
5星 · 资源好评率100%
Python可以通过C扩展模块来调用C语言编写的函数。以下是一个简单的示例:
1.编写C语言函数
假设我们有一个C语言函数,它可以计算两个整数的和:
```c
// sum.c
int sum(int a, int b) {
return a + b;
}
```
2.编写Python扩展模块
我们需要编写一个Python扩展模块来调用上述C语言函数。我们可以使用Python的标准库中的Cython或ctypes模块来实现。这里我们使用ctypes模块来实现。
```python
# sum.py
import ctypes
# 加载动态链接库
lib = ctypes.CDLL('./libsum.so')
# 定义C语言函数的参数和返回值类型
lib.sum.argtypes = (ctypes.c_int, ctypes.c_int)
lib.sum.restype = ctypes.c_int
# 调用C语言函数
a, b = 1, 2
result = lib.sum(a, b)
print(result)
```
3.编译C语言函数为动态链接库
我们需要将C语言函数编译为动态链接库,以便Python扩展模块可以加载它。以下是使用gcc编译的命令:
```bash
gcc -shared -o libsum.so sum.c
```
4.运行Python程序
我们可以运行Python程序来调用C语言函数:
```bash
python sum.py
```
输出结果为:
```bash
3
```
阅读全文