现在网上还有很多是python2编写的程序,我一般都是用的python3,今天了解了下python调用c语言程序的方法。
推荐使用固定格式的方式调用,毕竟如果使用普通共享库的方式的话,c语言传参中的指针不好处理,有知道的伙伴可以给我推荐点资料,我也学学,毕竟原生的C语言肯定要比转换的强。^-.-^
python2 的话可以看看这篇博客【python和C语言混编的几种方式】中的 “python对C语言扩展的支持”。
python3 推荐看看【使用C语言扩展Python3】博客。
但是python3这篇博客里面没有涉及编译部分,我补充下,越俎代庖啦,哈哈
$ gcc -I ~/anaconda3/include/python3.6m/ -fPIC -shared demo.c -o demo.so #需要导入python3的include目录来编译动态库。
$ python hello.py
需要注意的是python2和python3是不一样的,一定要指明python3的include目录。