此文档描述如何以 C/C++ 编写模块,采用新模块扩展 Python 解释器。这些模块不仅可以定义新函数,还可以定义新对象类型及其方法。文档还描述如何将 Python 解释器嵌入另一个应用程序,为用作扩展语言。最后,展示如何编译和链接扩展模块,以便将它们 (在运行时) 动态加载进解释器 (若底层操作系统支持此特征)。
此文档假定 (您了解) 有关 Python 的基本知识。对于语言的非正式介绍,见 Python 教程 . Python 语言参考 给出语言的更正式定义。 Python 标准库 文档现有对象类型、函数及模块 (内置和以 Python 编写),使语言应用程序范围更广泛。
对于整个 Python/C API 的详细描述,见单独 Python/C API 参考手册 .
此指南仅涵盖属于此版本 CPython 所提供的用于创建扩展的基本工具。第三方工具像 Cython , cffi , SWIG and Numba 提供为 Python 创建 C/C++ 扩展的更简单 更完备方式。
另请参阅
此指南章节涵盖不用第 3 方工具的援助创建 C/C++ 扩展。它旨在首要针对这些工具的创建者,而不是推荐创建自己的 C 扩展的方式。
有时候,与其创建在 Python 解释器中作为主应用程序运行的扩展,不如将 CPython 运行时嵌入更大的应用程序中。此章节涵盖成功做到这点所涉及的一些细节。