红联Linux门户
Linux帮助

linux下Python调用C模块

发布时间:2015-12-14 09:42:45来源:linux网站作者:Innerpeace-Love

在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:


(1)编写C代码,helloWorld.c代码很简单,只是输出“Hello World!”:

linux下Python调用C模块


(2)将编写的C代码编译成动态链接库的形式,具体命令:

linux下Python调用C模块

此时在当前目录下就生成了libhello.so 的动态链接库:

linux下Python调用C模块


(3)在main.py中导入动态链接库,并调用C函数

linux下Python调用C模块

这里的ctypes是Python的一个外部库,提供和C语言兼容的数据类型,以方便的调用C编译的静态库和动态库中的函数, 在此可以很肯定的说,ctypes中可定对C的数据类型进行了转换,使用时只需import ctypes ,然后导入动态库即可。


(4)在终端下输入Python main.py, 运行结果:

linux下Python调用C模块

打印出helloWorld.c中的内容, 说明Python调用C模块成功!


Python程序员最常犯的十个错误:http://www.linuxdiyf.com/linux/16441.html

ubuntu14.04在Vim上配置Python开发环境:http://www.linuxdiyf.com/linux/15967.html

在Ubuntu下配置Python开发环境:http://www.linuxdiyf.com/linux/13748.html

Ubuntu下使用Eclipse和PyDev搭建完美Python开发环境:http://www.linuxdiyf.com/linux/6257.html

提高Python运行效率的六个窍门:http://www.linuxdiyf.com/linux/12569.html