详细信息清参考《Python CookBook》第三版第十五章和扩展和嵌入Python解释器
有一些 C 函数已经被编译到共享库中(或者Go编译成的C语言风格动态库)。希望可以使用纯 Python 代码调用这些函数,而不用编写额外的 C 代码或使用第三方扩展工具。
对于需要调用 C 代码的一些小的问题,通常使用 Python 标准库中的 ctypes 模块就足够了。要使用 ctypes ,你首先要确保你要访问的 C 代码已经被编译到和 Python
解释器兼容(同样的架构、字大小、编译器等)的某个共享库中了。
想不依靠其他工具,直接使用 Python 的扩展 API 来编写一些简单的 C 扩展模块。
这个不光需要编译好的动态库,还需要对应的头文件。
# include "Python.h"
编写C语言代码对目标库函数进行Python封装setup.py
,通过python3 buildlib.py build_ext --inplace
绑定扩展模块import
使用setup.py
,通过python3 buildlib.py build_ext --inplace
绑定扩展模块import
使用pxd
文件pyx
文件setup.py
,通过python3 buildlib.py build_ext --inplace
绑定扩展模块import
使用