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语言的主要内容,如果未能解决你的问题,请参考以下文章

python调用C语言接口

python调用c函数

Windows下如何在python中调用c语言程序编译的dll

Python调用C语言

『Python CoolBook』C扩展库_其六_从C语言中调用Python代码

python如何调用C语言程序