Cython编译python为so 代码加密
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, setupfrom 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 代码加密相关推荐
- cython编译python_Cython编译python为so 代码加密示例
1. 编译出来的so比网上流传的其他方法小很多. 2. language_level 是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_le ...
- python编译成c语言-cython编译Python为c语言
第一种办法: 执行命令:cython test.py 结果:会在同一目录下面生成test.c文件 执行命令: gcc -c -fPIC -I /usr/include/python2.7 test.c ...
- python 代码加密
Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...
- Python代码加密,将python文件编译成so文件
Python程序(.py文件)是公开的,容易被别人拿去使用,为了更好保护知识产权,可以对python文件加密为.so文件. 首先,我们需要在Ubuntu系统中安装一些准备工具,包括python3-de ...
- python代码加密cython_利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- cython加密代码python_利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- Python代码加密混淆
python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...
- python代码加密 混淆_Python程序的混淆和加密
混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本. 同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了 ...
- 使用Cython提高python代码执行速度
2022.2.21更新 python程序执行效率是明显低于c的. 优化python代码的一个思路就是:将python的核心代码(一般是需要多次调用,或核心循环部分)转换成c语言. 不需要将程序重新改写 ...
最新文章
- java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)
- 51CTO让我成长【我与51CTO的故事】
- mysql备份恢复实验
- 基于 Kafka + Flink + Redis 的电商大屏实时计算案
- 【安全漏洞】Resin解析漏洞分析
- SQL基础操作_6_处理数字
- 旧题新做:从idy的视角看数据结构
- c语言用命令行编译运行程序_使用C程序执行系统命令
- AFNetworking源码学习
- 通知模式实现两个textField传值及模态视图——iOS开发
- ar nm ldd 静态库 动态库
- HTML:canvas画圆形加矩形组合
- 十天学会php之第二天
- 航空爱好者的自问自答(1)
- .net mvc笔记3_Understanding Razor Syntax
- html鼠标移上去变成箭头,js实现鼠标移动到div上变成箭头
- Matlab绘制运动想象ERD/ERS分析法图像
- 三维视觉之结构光原理详解
- 门门通还是精通一门(程序员)
- 大学生创新创业项目管理系统
热门文章
- 持续集成(四)Jenkins配置报警机制
- 三维模型转换工具大全
- 五大机器学习微信公众号推荐
- 三国志9如何培养新武将
- python爬虫项目毕业设计_基于python爬虫的电影推荐网站的设计与实现毕业论文+初稿+项目源码+安装说明+使用说明...
- 计算机导航窗格里没有桌面,win10系统资源管理器导航面板没有桌面项的教程
- SQL函数---SQL NOW()
- 一图看懂SpringBoot项目结构
- 抖音神器---Java实现图片(Image)转字符(ASCII)图片
- 蒙皮外包与变形器的交互使用一例--Marvelous到3dmax