最近由于老师手头上的项目需要,学习一下如何在python中调用c语言文件。
安装MinGW
首先需要安装MinGW 下载.
注意要安装下图中选择的包。
配置环境变量
检查是否安装成功![查看gcc是否安装成功并将.c文件转换为.so](https://i-blog.csdnimg.cn/blog_migrate/14f22d4555b79ea0ee677f2e02662125.png)
但是目前在windows上仍然会有一些问题。
Linux下实现调用
安装gcc
sudo apt install build-essential
查看是否安装成功
gcc --version
将.c文件转化为.so文件
gcc -fPIC -shared Digest32.c -o libdigest32.so 有的话需要添加上所需的链接文件
在python中实现调用
# recall Digest
c_object = CDLL('./digest.so')
digest = c_object.digest(mes)
print "digest", digest
在windows端的话可以用gcc生成dll文件,在linux下使用生成的so文件即可。
树莓派(Ubuntu)下载调用所需的ctype包
pip安装会报错,因为python自带ctypes模块,不需要下载。
pip install ctypes