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. 李航「机器学习」最全综述
  2. android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法
  3. centos7.6下的python3.6.9虚拟环境安装elastalert
  4. Linux:centos释放缓存,查看磁盘空间大小,xxx文件夹, 查看文件夹大小,查看剩余内存,查看xxx软件位置,统计某文件夹,统计某文件夹下目录数量,查看文件夹大小,给文件夹下所有的文件赋值权限
  5. python 连通域_连通域的原理与Python实现
  6. ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
  7. BZOJ4127Abs——树链剖分+线段树
  8. JavaScript学习总结(13)——JavaScript常用正则表达式
  9. 【HLSDK系列】服务端 AddToFullPack 函数
  10. 为什么开发者将迎来万亿美元黄金时代
  11. MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
  12. matlab ifft频率分辨率,[FFT] matlab中关于FFT的使用(理解频率分辨率、补零问题)
  13. okhttp post php,Android OkHttp 结合php 多图片上传实例
  14. 阿里云oss 简单上传
  15. 【CC3200AI 实验教程11】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-AI语音系统架构
  16. online judge start_01
  17. 机器学习--PCA(主成分分析)
  18. java反射学习---(框架设计的灵魂,你不收藏都后悔)
  19. vue项目引入markdown
  20. 6.18上午CVPR直播 | 清华三维视觉研究团队:三维人体重建与渲染、高精度人脸生成

热门文章

  1. 最详细破解nessus(windows)教程 插件更新至20220830
  2. 如何由两点坐标确定一条直线的ax+by+c=0表达式
  3. amd服务器如何修改睿频,amd自动睿频怎么开 amd开启睿频教程
  4. 求多个数的最大公约数和最小公倍数,用三种方法实现。
  5. m1芯片mac为2K显示器开启hidpi
  6. 计算机科学与交通方向,智能交通系统就业方向
  7. DSPF28335学习笔记
  8. 线性系统与非线性系统的稳定性
  9. imx6q mxc 的 framebuffer 初始化过程
  10. phpcms内容限制(转发自王小明爱红领巾)