Python/C API 参考手册
*********************

本手册描述了希望编写扩展模块并将 Python 解释器嵌入其应用程序中的 C 和
C++ 程序员可用的 API。同时可以参阅 扩展和嵌入 Python 解释器 ，其中描述
了扩展编写的一般原则，但没有详细描述 API 函数。

* 概述

  * 语言版本兼容性

  * 代码标准

  * 包含文件

  * 有用的宏

  * 对象、类型和引用计数

  * 异常

  * 嵌入Python

  * 调试构建

  * 推荐的第三方工具

* C API 的稳定性

  * 不稳定 C API

  * 应用程序二进制接口的稳定版

  * 平台的考虑

  * 受限 API 的内容

* 极高层级 API

* 引用计数

* 异常处理

  * 打印和清理

  * 抛出异常

  * 发出警告

  * 查询错误指示器

  * 信号处理

  * Exception 类

  * 异常对象

  * Unicode 异常对象

  * 递归控制

  * 异常与警告类型

* 定义扩展模块

  * 多个模块实例

  * 初始化函数

  * 多阶段初始化

  * 旧式的单阶段初始化

* 工具

  * 操作系统实用工具

  * 系统功能

  * 过程控制

  * 导入模块

  * 数据 marshal 操作支持

  * 解析参数并构建值变量

  * 字符串转换与格式化

  * PyHash API

  * 反射

  * 编解码器注册与支持功能

  * PyTime C API

  * 对 Perf Maps 的支持

* 抽象对象层

  * 对象协议

  * 调用协议

  * 数字协议

  * 序列协议

  * 映射协议

  * 迭代器协议

  * 缓冲协议

* 具体的对象层

  * 基本对象

  * 数值对象

  * 序列对象

  * 容器对象

  * Function 对象

  * 其他对象

* 初始化，最终化和线程

  * 在Python初始化之前

  * 全局配置变量

  * 初始化和最终化解释器

  * 进程级参数

  * 线程状态和全局解释器锁

  * 子解释器支持

  * 异步通知

  * 分析和跟踪

  * 引用追踪

  * 高级调试器支持

  * 线程本地存储支持

  * 同步原语

* Python 初始化配置

  * PyInitConfig C API

  * 配置选项

  * 运行时 Python 配置 API

  * PyConfig C API

  * Py_GetArgcArgv()

  * 延迟主模块的执行

* 内存管理

  * 概述

  * 分配器域

  * 原始内存接口

  * 内存接口

  * 对象分配器

  * 默认内存分配器

  * 自定义内存分配器

  * Python 内存分配器的调试钩子

  * pymalloc 分配器

  * mimalloc 分配器

  * tracemalloc C API

  * 例子

* 对象实现支持

  * 在堆上分配对象

  * 对象生命周期

  * 公用对象结构体

  * 类型对象结构体

  * 使对象类型支持循环垃圾回收

* API 和 ABI 版本管理

  * 构建时版本常量

  * 运行时版本

  * 比特位打包宏

* 监控 C API

* 生成执行事件

  * 管理监控状态
