Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.22 KB

cython.md

File metadata and controls

31 lines (25 loc) · 1.22 KB

Start of Cython

  • 使用Cython构建python扩展(start文件夹)

    1. 编写.pyx文件(该文件的内容是.py文件的内容)
    2. 编写setup.py文件
    3. 构建Cython文件
      python setup.py build_ext --inplace
    4. 执行上述命令之后会生成.pyd文件
    5. 完成.pyd文件的生成之后即可调用.pyx文件之中的内容(参见test.py)

    .pyx文件中,语法与python类似.

  • Cython执行了什么? 将.pyx文件之中的代码通过C重写,并编译成python可调用的模块,加快了运行速度.

  • 另外一个例子

    1. 计算fib数列(examples\fibo)
    2. 寻找质数(examples\primes)
  • cython调用C库

    • char*转化int(cython_using_c\cmath) 从C库之中调用函数或者声明C函数时,要加入c前缀,并且setup.py的写法也不一样
  • 函数与调用: 在.pyx文件之中,如果:

    1. 采用def定义函数,可以被python和Cython调用
    2. 采用cdef定义函数,可以被Cython和C调用
    3. 采用cpdef定义函数,可以被Cython,C和Python调用 但是无论怎样,.pyx文件不能实现跨文件的调用,要用.pxd文件