Python中有时需要调用c程序中的函数。使用ctype库可以很方便地调用c语言。现说明方法,以及注意事项。
c程序编译为.so文件:
我们需要的c语言文件为test.c,要从其中调用func(x,y)函数。
gcc -fPIC -shared test.c -o test.so
导入该文件
随后,我们在python中导入该test.so文件,方法如下:
import os
from ctypes import *
p = os.getcwd() + '/test.so' # 文件路径
f = CDLL(p) # 用CDLL方法读取该.so文件。
调用函数
这时我们已经读导入了该文件,可以使用文件中的函数了。
现在分情况讨论,如果func中传入的参数均为整数,那么比较简单:
a = 3
b = 4
f.func(a, b)
如果传入的参数为浮点数,那么得提前声明一下变量:
c = c_float(5.5)
d = c_float(6.66)
f.func(c, d)
如此,便可以正确调用。
原文地址:https://www.cnblogs.com/guiguiguoguo/p/11431578.html
时间: 2024-10-04 19:45:48