码迷,mamicode.com
首页 > 编程语言 > 详细

Python中调用c语言

时间:2019-08-29 20:12:56      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:pre   编译   strong   ctypes   -shared   变量   getcwd   调用函数   导入   

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语言

标签:pre   编译   strong   ctypes   -shared   变量   getcwd   调用函数   导入   

原文地址:https://www.cnblogs.com/guiguiguoguo/p/11431578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!