扩展和嵌入 解释器
此文档讲述了怎样运用C或C + +撰写模块来借助新型模块扩充解释器功能, 这些模块不但能够定义全新函数, 还能够定义全新对象类型及其方法, 该文档又叙述了怎样把解释器嵌入至另一应用程序里用作扩展语言, 最终, 它呈现了怎样编译并链接扩展模块, 从而使其能够在运行时动态加载到解释器中, 要是底层操作系统支持该特性的话。
此文档假定你知悉有关方面的基本常识, 对于该语言的非正式阐释, 可查阅相关内容, 给出了更为正式的语言界定, 涵盖现存的对象类型、函数以及模块(包括内置的和用特定方式编写的)的文档, 使得此语言拥有广泛的应用范畴。
关于整个 /C API 的详细介绍,请参阅独立的 。
推荐的第三方工具
本指南单单只是介绍了, 作为此版本其中一部分而提供的, 用于创建扩展的基本工具。第三方工具, 像某种工具、cffi、SWIG以及Numba, 它们提供了更为简单且更为复杂的方式, 来为进行C和C++扩展的创建。
参见
User Guide:
“User Guide”, 既包含了若干用于简化二进制扩展创建的可用工具,又探讨了诸多为何要最初创建扩展模块的各类缘由。
不使用第三方工具创建扩展
本指南的这一部分, 涵盖了在不存在第三方工具协助的情形下, 去创建C和C ++扩展, 它主要是针对这些工具的创建者而言的, 并非是给你提建议, 关于创建自己的C扩展的办法。
在更大的应用程序中嵌入 运行时
有些时候, 并非是要去创建那种, 于解释器里当作主应用程序来运行的扩展, 反而是期望把运行时, 嵌入到更大的那个应用程序之中。这一节阐述了成功达成此项操作所牵涉的一些具体细节。