|
发表于 2018-3-1 09:23:18
|
显示全部楼层
1.首先要安装Cytrhon和GCC
2.把需要隐藏的源码文件后缀名由.py改成.pyx。内容不用更改
3.写一个setup.py文件(例如需要被编译的文件名为func.pyx),内容如下:
- from distutils.core import setup
- from distutils.extension import Extension
- from Cython.Distutils import build_ext
- from Cython.Build import cythonize
- extensions = [
- Extension('func', ['func.pyx'], #func是我们要生成的动态链接库的名字
- language = 'c', #其实默认就是 c,如果要用 C++,就改成 c++ 就好了
- include_dirs = [], #这个就是传给 gcc 的 -I 参数
- libraries = [], #这个就是传给 gcc 的 -l 参数
- library_dirs = [], #这个就是传给 gcc 的 -L 参数
- extra_compile_args=[],#就是传给 gcc 的额外的编译参数,比方说你可以传一个 -std=c++11
- extra_link_args=[]) #就是传给 gcc 的额外的链接参数(也就是生成动态链接库的时候用的)
- ]
- setup(
- name = 'test',
- ext_modules = cythonize(extensions),
- )
复制代码 4.使用命令:python setup.py build_ext --inplace 完成编译,会在目录下生成一堆文件,只保留func.xxxx.pyd文件
5.在需要使用时,import func.pyd 载入
|
|