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 代码加密相关推荐

  1. cython编译python_Cython编译python为so 代码加密示例

    1. 编译出来的so比网上流传的其他方法小很多. 2. language_level  是python的主版本号,如果python版本是2.x,目前的版本Cython需要人工指定language_le ...

  2. python编译成c语言-cython编译Python为c语言

    第一种办法: 执行命令:cython test.py 结果:会在同一目录下面生成test.c文件 执行命令: gcc -c -fPIC -I /usr/include/python2.7 test.c ...

  3. python 代码加密

    Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...

  4. Python代码加密,将python文件编译成so文件

    Python程序(.py文件)是公开的,容易被别人拿去使用,为了更好保护知识产权,可以对python文件加密为.so文件. 首先,我们需要在Ubuntu系统中安装一些准备工具,包括python3-de ...

  5. python代码加密cython_利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

  6. cython加密代码python_利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

  7. Python代码加密混淆

    python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...

  8. python代码加密 混淆_Python程序的混淆和加密

    混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本. 同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了 ...

  9. 使用Cython提高python代码执行速度

    2022.2.21更新 python程序执行效率是明显低于c的. 优化python代码的一个思路就是:将python的核心代码(一般是需要多次调用,或核心循环部分)转换成c语言. 不需要将程序重新改写 ...

最新文章

  1. java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)
  2. 51CTO让我成长【我与51CTO的故事】
  3. mysql备份恢复实验
  4. 基于 Kafka + Flink + Redis 的电商大屏实时计算案
  5. 【安全漏洞】Resin解析漏洞分析
  6. SQL基础操作_6_处理数字
  7. 旧题新做:从idy的视角看数据结构
  8. c语言用命令行编译运行程序_使用C程序执行系统命令
  9. AFNetworking源码学习
  10. 通知模式实现两个textField传值及模态视图——iOS开发
  11. ar nm ldd 静态库 动态库
  12. HTML:canvas画圆形加矩形组合
  13. 十天学会php之第二天
  14. 航空爱好者的自问自答(1)
  15. .net mvc笔记3_Understanding Razor Syntax
  16. html鼠标移上去变成箭头,js实现鼠标移动到div上变成箭头
  17. Matlab绘制运动想象ERD/ERS分析法图像
  18. 三维视觉之结构光原理详解
  19. 门门通还是精通一门(程序员)
  20. 大学生创新创业项目管理系统

热门文章

  1. 持续集成(四)Jenkins配置报警机制
  2. 三维模型转换工具大全
  3. 五大机器学习微信公众号推荐
  4. 三国志9如何培养新武将
  5. python爬虫项目毕业设计_基于python爬虫的电影推荐网站的设计与实现毕业论文+初稿+项目源码+安装说明+使用说明...
  6. 计算机导航窗格里没有桌面,win10系统资源管理器导航面板没有桌面项的教程
  7. SQL函数---SQL NOW()
  8. 一图看懂SpringBoot项目结构
  9. 抖音神器---Java实现图片(Image)转字符(ASCII)图片
  10. 蒙皮外包与变形器的交互使用一例--Marvelous到3dmax