cython编译python_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, 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 代码加密示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: Cython编译python为so 代码加密示例
本文地址: http://www.cppcns.com/jiaoben/python/294813.html
cython编译python_Cython编译python为so 代码加密示例相关推荐
- Cython编译python为so 代码加密
1. 编译出来的so比网上流传的其他方法小很多. 2. language_level 是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_le ...
- python加密反编译_对Python源码进行加密及反编译前后对比
关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...
- python 代码加密
Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...
- Python 2.7 cython cythonize py 编译成 pyd 谈谈那些坑(转载)
转自:https://www.cnblogs.com/ibingshan/p/10334471.html Python 2.7 cython cythonize py 编译成 pyd 谈谈那些坑 前言 ...
- Cython入门:将python代码转为cython
前言 本节不具体讲解cython的原理和细节,提供一个最简单的例子,将一个python代码转化为一个cython代码,同时由于本人对cython刚入门,只会一个简单的操作,即在cython中声明变量的 ...
- python 函数定义 编译_Cython编译的模块不允许访问函数定义的“module”而不是callab...
我对Cython还不熟悉,我试着把Black(没有股票分红的Black Scholes)从Python转换成Cython.在编译之后,它不允许我实际使用这个函数.我相信经验丰富的人可以很容易地看到这一 ...
- 在线python编程编译器-在线编译或编辑Python的5个最佳工具
离线Python编辑器和编译器都具有许多功能,但是在线编译器通常在功能上受到限制,并试图满足特定需求而不是满足所有需求,其中在线编译大多数是免费的,所以也受到开发者的热爱. 在本文中,我们将浏览各种狂 ...
- python源代码不需要编译成什么-python需要编译么
一个经常听见的问题,那就是:Python是解释型的语言吗?它会被编译吗?这个问题没有想象中那么好回答.和很多人认识世界一样,习惯以一个简单的模型去评判一些事物.而事实上,里面包含了很多很多的细节. 通 ...
- python在线编译-在线编译python
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 尝试通过源码自己编译 python,使用的系统是 ubuntu14.04 ...
最新文章
- 解决firefox ubuntu无法打开页面的问题
- 带你了解“比特币黄金”和SegWit2x分叉
- SDK 和 API 的区别是什么
- C++对象的内存分析(5)
- CList添加出错AddTail();rror C2664: 'struct __POSITION *__thiscall CList错误
- Log4Net ,.net和SQL Server的完美结合
- Chrome开发者工具Network标签页中观察到的set-cookie jsessionid是什么东西
- 千元满血续航王!iQOO Z5发布 售价1799元起
- 深入理解HashMap+ConcurrrentHashMap扩容的原理
- 各种数字显示屏接口:LVDS, DVI, HDMI, DisplayPort, DSI
- Hive中类SQL语言中的where 与having
- 开课吧:Dubbo的整体架构设计有哪些分层?
- oracle sql 导入mysql数据库备份_使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复...
- 性能测试--jmeter中的用户自定义变量【13】
- 使用salt-ssh批量管理主机
- swagger导出excel文档_excel导入导出api
- linux wps怎么改成中文字体,WPS文字的 字体设置功能
- 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题...
- 钉钉邮箱登录入口_钉邮的使用攻略①
- 如何提交form表单嵌套(提交表单外的数据方法 )
热门文章
- 百度apistore第三方登陆使用说明
- 树莓派声音输出设置_Raspberry Pi(树莓派)声音输出的设置
- windows 实时自动同步两个文件夹
- 关于RPN中proposal的坐标回归参数的一点理解及Faster R-CNN的学习资料
- 视频画中画效果制作,原来这么简单就可以做出
- 计算机ram结构,2017年全国计算机考试四级复习纲要:RAM的结构、组织及其应用...
- 使用tk.mapper和pagehelper一个bug记录:没有为 'PAGE_TABLE_ALIAS' 的列 4 指定任何列名称
- 如何登陆FTP服务器下载文件
- 刷了 1000 多道算法题,一点小小的心得!
- 广安职业技术学院计算机在那个校区,广安职业技术学院有几个校区哪个更好