我对 Matlab 完全陌生。如何将简单的 Matlab/C 函数转换为可以在 Matlab 中运行而不显示源代码的版本?请帮忙!
最佳答案
根据您的澄清,您正在寻找的答案是经常被遗忘的 matlab pcode 。
pcode 是一个很棒的工具,它允许您分发 matlab 代码,而无需泄露源代码(m 文件)的 secret 。 pcode 文件只能在函数上创建。因此,如果您编写了一个简单的函数:
function [y] = myfunction(x)
y=x.^2;
end
然后您可以使用 matlab 命令从中创建一个 pcode 文件:
pcode('myfunction');
然后您将拥有一个 myfunction.m
和一个 protected myfunction.p
。
有大量的在线文档显示人们试图(不成功)将 pcode 翻译回 m 文件。
http://www.mathworks.com/matlabcentral/newsreader/view_thread/272505
http://www.mathworks.com/matlabcentral/answers/9848-how-to-decrypt-a-pcode
http://www.mathworks.com/matlabcentral/answers/75012-pcode-obfuscation-cracked-alternatives
至于编译 C 代码,我不是该领域的专家,但有很多工具可以做到这一点。我个人倾向于使用gcc 。有关编译 C 代码的任何进一步问题可能应该作为一个新问题打开,或者搜索一些有关 C 入门的教程。
关于将Matlab/C函数转换为无源代码版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23398471/