Python中调用c语言
Posted guiguiguoguo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中调用c语言相关的知识,希望对你有一定的参考价值。
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)
如此,便可以正确调用。
以上是关于Python中调用c语言的主要内容,如果未能解决你的问题,请参考以下文章
Windows下如何在python中调用c语言程序编译的dll