MATLAB:安全共享功能

yur*_*ero 4 deployment matlab share

我编写了一个MATLAB独立函数myfun.m,我想与也有MATLAB的人分享.他们可以使用该功能,但我不希望他们看到函数内部的内容.

到目前为止,我已经看到了一种方法pcode:我会创建myfun.p使用pcode('myfun.m')然后我会myfun.p与人分享.它是否正确?

上面的方法似乎有两个问题:

  • 当我输入时help myfun,我得到了No help found for myfun.p.虽然我已经为原始.m创建了一个简短的帮助(通过函数声明之后的注释)
  • mathworks .p文件包含原始.m的模糊的,未加密的版本

是否有其他方法pcode可以纠正上述问题中的一个或两个?

Sue*_*ver 5

  1. .p.m包含所有帮助文本的文件生成文件时,将删除所有注释.如果要为.p文件提供帮助文本,可以创建一个.m.p包含帮助文本的文件同名的单独文件.由于函数解析的顺序,文件将在以编程方式使用时进行评估,并在查找帮助时引用该文件..p.m

    请注意Mathworks中下表中的.p.m文件的顺序:

    确定同一文件夹中函数的优先级时,MATLAB按以下顺序考虑文件类型:

    1. 内置功能
    2. MEX-功能
    3. 未加载的Simulink模型文件,文件类型按此顺序排列:
    4. SLX文件
    5. MDL文件
    6. 使用MATLAB App Designer创建的应用程序文件(.mlapp)
    7. 扩展名为.mlx的程序文件
    8. P文件(即扩展名为.p的编码程序文件)
    9. 扩展名为.m的程序文件
  2. 这是事实,.p文件的内容是混淆的,但用户对文件内容进行反向工程并不是一件容易的事情,因此可能不值得他们这样做.您可以找到几个声称.m.p文件生成文件的实用程序,但这些.m文件可能看起来不像原始源.

    如果你真的担心算法的安全性,你总是可以在编译的mex文件中编写敏感部分.