如何使用python调用C++代码
时间: 2023-06-08 17:03:30 浏览: 139
可以使用ctypes模块来调用C代码。该模块允许在Python中加载动态链接库并调用其中的函数。要使用它,您需要先编写一个C函数并将其编译为共享库,然后在Python中加载该库并调用该函数。您可以使用以下步骤实现此目标:
1.编写C函数,将其编译为共享库。例如,以下是一个简单的C代码,可以计算两个整数之和,并将其编译为共享库:
#include
int add(int x, int y) { return x + y; }
为了将其编译为共享库,请使用以下命令:
$ gcc -shared -o libadd.so -fPIC add.c
这将生成一个名为libadd.so的共享库。
2.在Python中加载该库并调用该函数。使用ctypes库可以轻松地实现这一目标。您需要使用相关数据类型定义C函数的参数和返回值,并使用文件名加载共享库。以下是一个Python脚本,可以加载共享库并调用该函数:
import ctypes
# Load the shared library
libadd = ctypes.cdll.LoadLibrary('./libadd.so')
# Define the arguments and return types
libadd.add.argtypes = (ctypes.c_int, ctypes.c_int)
libadd.add.restype = ctypes.c_int
# Call the C function
result = libadd.add(2, 3)
print(result)
这将输出5,即两个整数的和。
阅读全文