近期笔者在研究python内部部分模块的实现机理,研究着研究着就开始硬刚C源码了。想着先前工作或是日常也没有体验过用C++编写python库,于是就刚好学习了一下。
用C或者C++编写python的扩展库,建议用Visual Studio宇宙第一IDE,一来能够同时支持python跟C,二来调试功能非常强大。入门上手的话,可以参考下面的文档:
- 官网文档:扩展和嵌入 Python 解释器
- VS文档:Create a C++ extension for Python
编写的库叫做cplayground
,只包含一个hack函数tuple_setitem
——强行设置tuple的元素(python默认是不支持的)。我们可以来看这样的python扩展用C++该如何实现: