Cython编译python为so 代码加密示例

Kohana ·
更新时间:2024-11-10
· 848 次阅读

1. 编译出来的so比网上流传的其他方法小很多。

2. language_level  是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_level.

3. python setup.py build_ext --inplace  执行脚本

4. 以下是代码片段

from distutils.core import Extension, setup from Cython.Build import cythonize from Cython.Compiler import Options # __file__ 含有魔术变量的应当排除,Cython虽有个编译参数,但只能设置静态。 exclude_so = ['__init__.py', "mixins.py"] sources = ['core', 'libs'] extensions = [] for source in sources: for dirpath, foldernames, filenames in os.walk(source): for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames): file_path = os.path.join(dirpath, filename) if filename not in exclude_so: extensions.append( Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"], extra_link_args = ["-Wl,--strip-all"])) Options.docstrings = False compiler_directives = {'optimize.unpack_method_calls': False} setup( # cythonize的exclude全路径匹配,不灵活,不如在上一步排除。 ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build', language_level = 2 或者3 , compiler_directives = compiler_directives))

以上这篇Cython编译python为so 代码加密示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:python hashlib加密实现代码python文字和unicode/ascll相互转换函数及简单加密解密实现代码Python中使用pypdf2合并、分割、加密pdf文件的代码详解使用Python进行AES加密和解密的示例代码python的Crypto模块实现AES加密实例代码python 数据加密代码如何给Python代码进行加密



加密 cython 示例 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号