有没有大佬知道python有什么可以编译dll的库吗
最近一直在探索python技术
直到我发现了dll这个东西,我对他很感兴趣,但是大部分dll都是使用C/C++制作的,我想知道python有没有可以制作dll的库
感谢
jennaweng0621.pixnet.net/blog/post...
将py文件档转成pyd文件档(DLL)
python程式目前可采用的副档名有.py、.pyc、.pyo、.pyw、.pyd等等, 其中pyc和pyd为二进制文件, 且pyd格式是D语言(C/C++综合进化版本)生成的二进制文件, pyd是python的动态模组, 实质上也是DLL文件, 而pyc及pyo这两种格式是可以被反编译, 最后的pyw单纯只用来隐藏命令行的介面而已, 这边之所采用pyd的主要目的是为了保护程式码, 避免受到他人盗取采用, 下方将介绍如何将.py生成pdy文件, 这边采用的python版本为3.6.1
输入指令: pip install cython
假设有一个test.py档要转成pyd文件, 其内容如下:
接着另建一份setup.py文件, 写法如下:
假设有一个main资料夹里面含有许多.py档, 透过下方的方式可一次同时转多个档案, 写法如下:
开启cmd指定到该目录, 输入指令
where
build_ext
:build C/C++ extensions (compile/link to build directory),给python编译一个c、c++的拓展--inplace
:ignore build-lib and put compiled extensions into the source directory alongside your pure Python modules,忽略build-lib,将编译后的扩展放到源目录中,与纯Python模块放在一起将会生成如下几个档案, 可只保留.pyd文件档即可,
将上述的文件test.cp36-win_amd64.pyd先缩短名称为test.pyd, 无论是否要缩短名称都不影响结果, 写法如下:
输出的结果为
hello python world!