擅长:python、mysql、java
<p>我并没有使用所有这些方法,尽管我在某一点或另一点上都调查过。。。在</p>
<p>pythoncapi:用于编写编译成Python模块的C代码,该模块可以在Python中导入。或者编写一个Python模块,作为与某个C库接口的“粘合”代码。在</p>
<p><strong>细纹织物</strong>:允许您在python代码中插入一些C代码,如果您正在使用NumPy和SciPy来做数字运算,请仔细研究一下。C代码应该是一个字符串,就像,编织.inline例如('printf(“%s”,foo)')。在</p>
<p><strong>ctypes</strong>:一个python模块,允许您从python代码调用C代码。您基本上导入共享库,然后调用它的API。需要做一些工作来整理这些电话的数据。如果你想使用你或其他人编写的现有C库,我将从这里开始。在</p>
<p><strong>pyrex/cython</strong>:允许您编写Python代码(使用一些特殊语法),这些代码将生成C代码(可以作为Python模块导入),显然,它的运行速度比通过Python解释器运行的要快。这有点像“pythoncapi”路由,只是它为您生成C代码。如果您有一些代码块是您的瓶颈,并且非常慢,则非常有用。使用cython重写该函数并从调用代码导入它。在</p>
<> > Stase<Sux</Stult>:为C/C++库生成包装代码。最后应该得到一个可以导入和使用的python模块。在</p>
<p><strong>Boost.Python</strong>:这是我所知最少的一个。在我看来,它类似于SWIG,虽然你自己编写包装层,但有很多来自Boost宏/函数的帮助。在</p>
<p><strong>Psyco</strong>:将python代码加速一点,我从来没有这么幸运过。我不会浪费你的时间。分析您的代码,找到您的瓶颈,并使用上述技术之一加速它们。在</p>