Electronic Joint Business

Solution for E-Business

利用C语言扩展Python模块

文章评价: Pyton 和 C 分别有着各自的优缺点,用 Python 开发程序速度快,可靠性高,并且有许多现成模块可供使用,但执行速度相对较 慢;C 语言则正好相反,其执行速度快,但开发效率低。为了充分利用两种语言各自的优点,比较好的做法是用 Python 开发整个软件框架,而用 C 语言实现其关键模块。本文介绍如何利用 C 语言来扩展 Python 的功能,并辅以具体的实例讲述如何编写Python的扩展模块。 与其它普通脚本语言有所不同,程序员可以借助 Python 语言提供的 API,使用 C 或者 C++ 来对 Python 进行功能性扩展,从而即可以利用 Python 方便灵活的语法和功能,又可以获得与 C 或者 C++ 几乎相同的执行性能。执行速度慢是几乎所有脚本语言都具有的共性,也是倍受人们指责的一个重要因素,Python 则通过与 C 语言的有机结合巧妙地解决了这一问题,从而使脚本语言的应用范围得到了很大扩展。 在用 Python 开发实际软件系统时,很多时候都需要使用 C/C++ 来对 Python 进行扩展。最常见的情况是目前已经存在一个用 C 编写的库,需要在 Python 语言中使用该库的某些功能,此时就可以借助 Python 提供的扩展功能来实现。此外,由于 Python 从本质上讲还是一种脚本语言,某些功能用 Python 实现可能很难满足实际软件系统对执行效率的要求,此时也可以借助 Python 提供的扩展功能,将这些关键代码段用 […]

,

One thought on “利用C语言扩展Python模块
  • mathgl says:

    现在一般来说甚少会直接用api来写c的扩展,更多时候是使用第三方的工具来实现。

    我目前用得最多的是cython & swig。 比手写api是要简单许多。

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.