-
使用Cython构建python扩展(
start
文件夹)- 编写
.pyx
文件(该文件的内容是.py文件的内容) - 编写
setup.py
文件 - 构建Cython文件
python setup.py build_ext --inplace
- 执行上述命令之后会生成
.pyd
文件 - 完成
.pyd
文件的生成之后即可调用.pyx
文件之中的内容(参见test.py
)
在
.pyx
文件中,语法与python类似. - 编写
-
Cython执行了什么? 将
.pyx
文件之中的代码通过C重写,并编译成python可调用的模块,加快了运行速度. -
另外一个例子
- 计算fib数列(
examples\fibo
) - 寻找质数(
examples\primes
)
- 计算fib数列(
-
cython调用C库
char*
转化int
(cython_using_c\cmath
) 从C
库之中调用函数或者声明C
函数时,要加入c前缀,并且setup.py
的写法也不一样
-
函数与调用: 在
.pyx
文件之中,如果:- 采用
def
定义函数,可以被python和Cython调用 - 采用
cdef
定义函数,可以被Cython和C调用 - 采用
cpdef
定义函数,可以被Cython,C和Python调用 但是无论怎样,.pyx
文件不能实现跨文件的调用,要用.pxd
文件
- 采用