扩展和嵌入python解释器

本文档描述了如何用C或C++编写模块,用新的模块扩展Python解释器。这些模块不仅可以定义新的函数,还可以定义新的对象类型及其方法。文档还描述了如何将Python解释器嵌入另一个应用程序中,以用作扩展语言。最后,本文演示了如何编译和链接扩展模块,以便在底层操作系统支持此功能的情况下(在运行时)将它们动态加载到解释器中。

本文档假设您对Python有基本的了解。有关该语言的非正式介绍,请参见 python教程 . python语言引用 给出了语言的更正式的定义。 python标准库 记录现有的对象类型、函数和模块(包括内置的和用python编写的),它们为该语言提供了广泛的应用范围。

有关整个python/c API的详细描述,请参见单独的 python/c API参考手册 .

在没有第三方工具的情况下创建扩展

本指南的章节涵盖了在没有第三方工具的帮助下创建C和C++扩展。它主要是为那些工具的创建者设计的,而不是作为创建自己的C扩展的推荐方法。

在更大的应用程序中嵌入cpython运行时

有时,与其创建在Python解释器中作为主应用程序运行的扩展,不如将cpython运行时嵌入到更大的应用程序中。本节介绍了成功完成这项工作所涉及的一些细节。