文件名称:相关话题-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 19:46:45
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 代码 运行的更快一些呢?