大家好,今天小编关注到一个比较有意思的话题,就是关于python语言可以调用c语言的问题,于是小编就整理了2个相关介绍Python语言可以调用c语言的解答,让我们一起看看吧。
如何用Python调用C代码?
这里介绍一种简单的方式—编译为dll或so动态库,然后再使用ctypes模块调用就行,下面我简单介绍一下实现过程,主要内容如下:
这种方式主要应用在Windows平台下,将C语言程序编译为一个dll动态库,然后直接使用ctypes模块加载使用就行,测试过程如下:
1.为了更好的说明问题,这里我利用VS2017编译了一个dll文件,源C代码如下,非常简单,一个相乘函数:
2.编译完成后,我们在同级目录下新建一个py文件,直接使用ctpyes模块加载刚才编译好的dll文件就行,如下,非常简单:
点击运行这个程序,已经成功调用C函数,并返回执行的结果,如下:
这种方式主要应用在Linux环境下,基本过程和Windows平台下差不多,也是先编译为so动态库文件,然后再使用ctypes模块加载使用就行,测试过程如下:
1.测试C程序如下,两个简单的函数,一个相加一个相乘,接着使用gcc命令将这个C文件编译为so文件,编译命令“gcc -shared -Wl,-soname,test -o test.so -fPIC test.c”:
我本人没做过完整的,但是在中见到过调用。cpp程序写好后,必然有一个main函数在,或者你就写一个main.cc,把main函数放在这个文件里。编译好后,把编译后的程序放在Python程序根目录的某个文件夹内(其实随便放哪儿,不过为了方便),然后在Python文件中就可以直接导入项目名,也就是c程序的名字,然后就能用了,不过这是直接从main函数入口调用,如何调用其他的函数,这个我没用过,不过应该大同小异吧。