作者简介
Philip Herron是一位专注于编译器和虚拟机实现的开发人员。当他第一次被Google Summer of Code 2010录取时,他利用Paul Biggar博士的灵感来优化动态语言,以开发GCC前端编译Python的POC。该项目引发了他对Python如何工作的浓厚兴趣。
在2011年完成同一项目的一年后,Philip在Python基础上申请了Cython,以深入了解标准的Python实现。通过这种方式,他开始利用Python的优势来控制系统中的逻辑,甚至添加更多高级接口,例如将Flask Web服务器嵌入到REST API中,而不需要编写任何C代码。
Philip目前是位于北爱尔兰的Instil Software的软件顾问。他使用嵌入式视频流本地代码开发移动应用程序。
前言
Cython是编写Python的本机扩展就像在Python中编写它们一样简单。你可以将Python模块实现为纯C代码,无论出于何种目的,它都会像任何Python代码一样外观和行为。
编写本机模块很难,并且需要有关如何正确使用垃圾收集器调用的知识,以避免内存泄漏。它还需要了解如何使用GIL,CPython和PyPy等的GIL还不同。它还需要了解内部传递给Python运行时的模块结构和参数。Cython允许我们编写和使用本机代码,而无需了解有关Python运行时的任何信息。我们可以编写几乎纯粹的Python代码,我们操纵C/C++类型和类。我们可以在本机代码和Python代码之间来回调用。
Cython消除了复杂性和内在性,让程序员专注于解决问题。
内容简介
- 第1章
Cython Will not Bite,介绍核心概念并演示Cython“HelloWorld”。 讨论类型类型转换。
- 第2章,了解Cython
作为整本书的参考。 我们看看自定义C类型和函数指针。 在c中使用Python模块。
- 第3章,扩展应用程序
使用Python而不是C/C++的编写本机Tmux命令。
- 第4章,调试Cython
使用基于gdb的cygdb调试Cython代码。
- 第5章,高级Cython
Cython如何使用C++类和模板。
- 第6章,延伸
简要介绍相关项目和有趣的资料来源
面向读者
本书面向喜欢使用Python的C/C++开发人员和想要实现Python的C/C++扩展的Python用户。您可以展示如何使用Cython开发应用程序,重点是扩展现有系统。
扩展遗留系统可能很困难,但回报很大。 低级线程感知或I/O敏感操作用C实现,用Python处理逻辑。 这种开发模式高效的并且可以很好地节约开发时间。
资源
本书英文版下载 Learning Cython Programming(2nd) - 2016
参考资料
- 本文涉及的python测试开发库 谢谢点赞!
- 本文代码地址
- 本文相关书籍下载
网友评论