当前位置:首页 > 技术 > Python > 正文内容

用mpy-cross保护py文件

Watrt5年前 (2020-03-31)Python25060

在python中,可以将py文件编译为pyc文件。编译后的pyc文件是二进制格式,一是可以加快加载速度,更重要的是可以保护原始代码。

在micropython中同样提供了这个功能,只是它将pyc改名为mpy,编译出的文件扩展名是.mpy。要使用这个功能,首先,我们需要产生mpy-cross工具。在micropython目录下,进入mpy-cross子目录,然后在命令行下输入make编译产生mpy-cross执行文件(需要先安装gcc编译器)。在windows会产生mpy-cross.exe,在linux下会产生mpy-cross。


我是在ubuntu 下编译mpy-cross.exe的由于是跨平台所以要先安装交叉编译工作。

x86_64位下使用

sudo apt-get install gcc-mingw-w64
make CROSS_COMPILE=i686-w64-mingw32-

x86_32位下使用

sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
make CROSS_COMPILE=i586-mingw32msvc-

编译mpy-cross

$ cd mpy-cross
$ make CROSS_COMPILE=i686-w64-mingw32-


mpy-cross.rar


分享给朋友:

相关文章

Python使用struct处理二进制(pack和unpack用法)

Python使用struct处理二进制(pack和unpack用法)

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...)     按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) un...

micropython 清除flash磁盘内容

micropython 清除flash磁盘内容

对于ESP32,一般是在命令行中使用esptool.py清除flash,如果是在程序中想清除flash内容,或者更换文件系统格式,可以用下面方法:import uos uos.VfsFat.mkfs(bdev)如果使用 LFS2 文件系统,命令是import uos uos.VfsLfs2.mkfs(bdev)对于STM32,默认没有bdev设备,需要使用下面方法:import uos flash = pyb.Flash(start=0)u...

制作riscv架构的ubuntu文件系统(rootfs)

制作riscv架构的ubuntu文件系统(rootfs)

命令 lsb_release -aNo LSB modules are available. Distributor ID:Ubuntu Description:Ubuntu 20.04.6 LTS Release:20.04 Codename:focal制作的根文件系统为RISC-V 64 Ubuntu 22.04 LTS1 主机安装需要的程序和生成最小 bootstrap r...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。