在matlab中如果你的代码很重要,需要加密,目前我查到了两种方法:一、生成p文件;二、生成.exe文件
matlab生成p文件的方法很简单,在command wondow里面用
pcode yourfile.m
命令可以将M文件转化为对应的pcode文件yourfile.p,据说是不会被反编译的。
一、生成p文件
P文件是对应M文件的一种预解析版本(preparsed version)。因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用, 即第二次执行时无需再解析),这无形中增加了执行时间。所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。但又 因为Matlab的解析速度非常快,一般不用自己作预解析。只有当一些程序要调用到非常多的M文件时,如GUI应用程序时,才会作预解析,以增加以后的调 用速度。
如Matlab的当前目录(Current Directory)有test.m文件,其中a=1,b=2,作预解析后,又有test.p文件。因为P文件的调用优先级比M文件要高,所以当你调用test时,会作优先选 择而调用了test.p。
可以修改test.m的代码为:
% ----------------------
% test.m
a = 3;
b = 4;
% ----------------------
再在Command Window里调用test:
>> test