[第 9 章](../Text/9.html#1P71O1-7febf188d2c44542a50efe01951015f9"Chapter 9. Introduction to the NumPy C-API"), *NumPy C-API 简介* 提供了对 NumPy C API 的基本介绍,以及一般而言,如何编写现有包装程序 C / C ++库。 本章旨在提供一个简短的介绍,并为读者提供有关如何创建新包装程序和了解现有程序的基本知识。
第 9 章,“NumPy C-API 简介”提供了对 NumPy C API 的基本介绍,以及一般而言,如何编写现有包装程序 C/C++ 库。 本章旨在提供一个简短的介绍,并为读者提供有关如何创建新包装程序和了解现有程序的基本知识。
Windows OS 用户注意事项:除了 Python 发行版,您还可以从 Ghristoph Gohlke 网站上的 [http://www.lfd.uci.edu/~gohlke/pythonlibs/](http://www.lfd.uci.edu/~gohlke/pythonlibs/) 安装预构建的 Windows python 扩展软件包。
Cython 是一个将类型定义的 Python 代码转换为 C 代码的编译器,该代码仍在 Python 环境中运行。 最终输出是本机代码,其运行速度比 Python 生成的字节码快得多。 在大量使用循环的代码中,Python 代码加速的幅度更加明显。 为了编译 C 代码,首要条件是在计算机上安装 C / C ++编译器,例如`gcc`(Linux)或`mingw`(Windows)。
Cython 是一个将类型定义的 Python 代码转换为 C 代码的编译器,该代码仍在 Python 环境中运行。 最终输出是本机代码,其运行速度比 Python 生成的字节码快得多。 在大量使用循环的代码中,Python 代码加速的幅度更加明显。 为了编译 C 代码,首要条件是在计算机上安装 C/C++ 编译器,例如`gcc`(Linux)或`mingw`(Windows)。
在本章中,我们向您介绍了另一种使用 Python 和 NumPy 提供的 C-API 优化或集成 C / C ++代码的方法。 我们解释了该代码的基本结构以及其他示例代码,开发人员必须编写这些代码才能创建扩展模块。 之后,我们创建了两个函数,这些函数计算出一个数字的平方,并将该平方函数从`math.h`库映射到一个 Numpy 数组。 这里的目的是使您熟悉如何利用 C / C ++编写的数字库,以最少的代码重写来创建自己的模块。 编写 C 代码的范围比这里描述的要广泛得多。 但是,我们希望本章使您有信心在需要时利用 C-API。