在Linux环境下,要让Python脚本与C语言代码进行交互,你可以使用Python的ctypes
库或者cffi
库
首先,你需要编译一个C语言库。假设你有一个名为example.c
的文件,内容如下:
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
使用以下命令编译这个文件:
gcc -shared -o libexample.so example.c
这将生成一个名为libexample.so
的共享库文件。
接下来,创建一个名为example_wrapper.py
的Python脚本,内容如下:
import ctypes
# 加载共享库
libexample = ctypes.CDLL('./libexample.so')
# 设置函数参数类型
libexample.add.argtypes = [ctypes.c_int, ctypes.c_int]
# 设置函数返回值类型
libexample.add.restype = ctypes.c_int
# 调用C语言函数
a = 3
b = 4
result = libexample.add(a, b)
print(f"{a} + {b} = {result}")
运行这个Python脚本,你将看到输出结果:
3 + 4 = 7
首先,安装cffi
库:
pip install cffi
接下来,创建一个名为example_wrapper.py
的Python脚本,内容如下:
from cffi import FFI
# 定义C语言函数签名
ffi = FFI()
ffi.cdef("int add(int a, int b);")
# 加载共享库
libexample = ffi.dlopen('./libexample.so')
# 调用C语言函数
a = 3
b = 4
result = libexample.add(a, b)
print(f"{a} + {b} = {result}")
运行这个Python脚本,你将看到输出结果:
3 + 4 = 7
这两种方法都可以让Python脚本与C语言代码进行交互。你可以根据自己的需求和喜好选择合适的方法。