这里介绍一种简单的方式—编译为dll或so动态库,然后再使用ctypes模块调用就行,下面偶简单介绍一下实现过程,主要内容如下:
编译为dll
这种方式主要应用在Windows平台下,将C语言程序编译为一个dll动态库,然后直接使用ctypes模块加载使用就行,测试过程如下:
1.为了更好的说明问题,这里偶利用VS编译了一个dll文件,源C代码如下,非常简单,一个相乘函数:
2.编译完成后,大家在同级目录下新建一个py文件,直接使用ctpyes模块加载刚才编译好的dll文件就行,如下,非常简单:
点击运行这个程序,已经成功调用C函数,并返回执行的结果,如下:
编译为so
这种方式主要应用在Linux环境下,基本过程和Windows平台下差不多,也是先编译为so动态库文件,然后再使用ctypes模块加载使用就行,测试过程如下:
1.测试C程序如下,两个简单的函数,一个相加一个相乘,接着使用gcc命令将这个C文件编译为so文件,编译命令“gcc -shared -Wl,-soname,test -o test.so -fPIC test.c”:
2.编译完成后,在同级目录下也新建一个py文件,也直接使用ctypes模块加载so文件使用就行,代码几乎不变,如下:
直接运行这个程序,效果如下,已经成功调用C函数:
至此,大家完成了利用Python调用C语言程序。总的来说,整个过程非常简单,只要你熟悉一下上面的步骤,很快就能掌握的,网上也有相关教程和资料可供参考,非常详细也非常丰富,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
如果觉得《如何用Python调用C代码 – java – 前端 python 数字转 string》对你有帮助,请点赞、收藏,并留下你的观点哦!