此版本的文档适用于 Cython 最新开发分支。有关最新发布版本,请参见 此处。

导航

  • 下一个
  • 上一个 |
  • Cython 3.1.0a0 文档 »
  • 教程 »
  • 相关工作

🤝 喜欢这个工具?帮助我们做得更好!您的捐赠将有所帮助! 🤝

相关工作¶

Pyrex [Pyrex] 是 Cython 最初基于的编译器项目。Cython 语言的许多功能和主要设计决策都是由 Greg Ewing 在该项目中开发的。如今,Cython 超越了 Pyrex 的能力,提供了与 Python 代码和 Python 语义的更高兼容性,以及更优越的优化和与 NumPy 等科学 Python 扩展的更好集成。

ctypes [ctypes] 是 Python 的外部函数接口 (FFI)。它提供与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。它可以用来用纯 Python 代码包装这些库。与 Cython 相比,它的主要优势在于它位于标准库中,可以直接从 Python 代码中使用,无需任何额外的依赖项。主要缺点是它的性能,由于所有操作都必须先通过 Python 代码,因此会受到 Python 调用开销的影响。Cython 作为一种编译语言,可以通过将更多功能和长时间运行的循环移到快速 C 代码中来避免大部分这种开销。

SWIG [SWIG] 是一个包装代码生成器。它可以很容易地解析 C/C++ 头文件中的大型 API 定义,并为大量编程语言生成直接的包装代码。然而,与 Cython 不同的是,它本身不是一种编程语言。薄包装很容易生成,但包装需要提供的功能越多,用 SWIG 实现它就越困难。另一方面,Cython 使得为 Python 语言编写非常复杂的包装代码变得非常容易,并且可以根据需要在任何地方将其设置为薄或厚。此外,还存在用于解析 C 头文件并使用它来生成 Cython 定义和模块骨架的第三方代码。

ShedSkin [ShedSkin] 是一个实验性的 Python 到 C++ 编译器。它使用一个非常强大的全模块类型推断引擎从(受限的)Python 源代码生成 C++ 程序。主要缺点是它不支持调用 Python/C API 来执行它不支持的本地操作,并且只支持很少的标准 Python 模块。

[ctypes]

https://docs.pythonlang.cn/library/ctypes.html.

[ShedSkin]

M. Dufour, J. Coughlan, ShedSkin, https://github.com/shedskin/shedskin

[SWIG]

David M. Beazley 等人,SWIG:一个易于使用的工具,用于将脚本语言与 C 和 C++ 集成,http://www.swig.org。

Logo

上一主题

进一步阅读

下一主题

附录:在 Windows 上安装 MinGW

此页面

  • 显示源代码

快速搜索

导航

  • 下一个
  • 上一个 |
  • Cython 3.1.0a0 文档 »
  • 教程 »
  • 相关工作
© 版权所有 2024,Stefan Behnel、Robert Bradshaw、Dag Sverre Seljebotn、Greg Ewing、William Stein、Gabriel Gellner 等人。使用 Sphinx 7.2.6 创建。