【文件属性】:
文件名称:相关话题-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2021-06-04 02:00:05
python 核心编程 中文版 高清文字版
22.3 相关话题
SWIG
有一个外部工具叫 SWIG,是 Simplified Wrapper and Interface Generator 的缩写。其作者为
David Beazley,同时也是 Python Essential Referenc 一书的作者。这个工具可以根据特别注释过
的 C/C++头文件生成能给 Python,Tcl 和 Perl 使用的包装代码。使用 SWIG 可以省去你写前面所说
的样板代码的时间。你只要关心怎么用 C/C++解决你的实际问题就好了。你所要做的就是按 SWIG 的
格式编写文件,其余的就都由 SWIG 来完成。你可以通过下面的网址找到关于 SWIG 的更多信息。
http://swig.org
Pyrex
创建 C/C++扩展的一个很明显的坏处是你必须要写 C/C++代码。你能利用它们的优点,但更重要
的是,你也会碰到它们的缺点。Pyrex 可以让你只取扩展的优点,而完全没有后顾之忧。它是一种更
偏向 Python 的 C 语言和 Python 语言的混合语言。事实上,Pyrex 的官方网站上就说“Pyrex 是具有
C数据类型的 Python“。你只要用 Pyrex 的语法写代码,然后运行 Pyrex 编译器去编译源代码。Pyrex
会生成相应的 C代码,这些代码可以被编译成普通的扩展。你可以在它的官方网站下载到 Pyrex:
http://cosc.canterbury.ac.nz/~greg/python/Pyrex
Psyco
Pyrex 免去了我们再去写纯 C代码的麻烦。不过,你要去学会它的那一套与众不同的语法。 后,
你的 Pyrex 代码还是会被转成 C 的代码。无论你用 C/C++,C/C++加上 SWIG,还是 Pyrex,都是因为
你想要加快你的程序的速度。如果你可以在不改动你的 Python 代码的同时,又能获得速度的提升,
那该多好啊。
Psyco 的理念与其它的方法截然不同。与其改成 C的代码,为何不让你已有的 Python 代码
运行的更快一些呢?