如何在python中调用C语言代码

在参考了https://www.cnblogs.com/navysummer/p/10648520.html#commentform

中的内容,对使用Python/C API(原文中第三种方式)进行复现时,遇到了如下问题:

error1:include<Python.h> no such file or directory

error2: long elem = PyInt_AsLong(temp);中应该使用PyLong_AsLong(temp);

error3: XXXX.so undefined InitModule3

对于error1,解决如下:

该作者的实验环境是Python2.7,应该执行如下命令安装python-dev: 

sudo apt-get install python-dev

对于error2,解决如下:

修改long elem = PyInt_AsLong(temp);

为long elem = PyLong_AsLong(temp);

对于error3,解决如下:

是因为Python3中不再支持Py_InitModule3,用Python2.7能达到实验效果。

原文地址:https://www.cnblogs.com/lkldeblog/p/14082965.html