如何用Python调用C代码?

网友解答: 这里简单介绍一下吧,其实很简单,以Linux系统为例,只要将c代码编译为.so文件,然后直接调用就行,下面我简单介绍一下实现过程,实验环境CentOS7+python3.6+

网友解答:

这里简单介绍一下吧,其实很简单,以Linux系统为例,只要将c代码编译为.so文件,然后直接调用就行,下面我简单介绍一下实现过程,实验环境CentOS7+python3.6+gcc,主要内容如下:

1.编写c代码,这里我简单的编写了2个测试函数,分别是相加、相减,命名为test.c,主要代码如下,很简单:

2.下面将这个test.c文件编译为test.so文件,前提是安装好了gcc编译器,编译命令“gcc -shared -Wl,-soname,test -o test.so -fPIC test.c”,如下:

编译成功后,会在当前目录下边生成一个test.so文件,如下:

3.调用test.so文件,这里主要用到ctypes这个包,加载test.so文件,就可直接调用c代码,测试代码如下:

程序运行结果如下,已经成功调用:

至此,我们就完成了利用python来调用c代码。总的来说,整个过程很简单,就是先编译成so文件,然后在调用,只要熟悉一下流程,很快就能掌握的,调用windows下的dll类似,这里我就不详细介绍了,感兴趣的可以自己搜一下,网上也有相关教程和资料,希望以上分享的内容能对你有所帮助吧。

标签: