【发布时间】:2014-05-10 18:31:26
【问题描述】:
我已经为我最后一年的项目创建了自己的函数定义,即函数 m 文件。现在我想隐藏该函数定义。有什么办法可以在matlab中做到这一点? 我希望这个函数 m 文件应该成为我的 matlab 编译器目录的一部分,这样当我从任何 m 文件调用该函数时,它会被调用并执行,但它的函数定义不应该对任何人可见.. 实际上我想对我的顾问和项目评估委员会隐藏那个函数定义。我不希望他们得到关于这个函数定义的任何提示......有人对我说,“将你的 m 文件转换为 c 或 c++ 代码然后将它添加到matlab目录中。你的函数定义将被隐藏,并且在调用时也会被执行。 但我不知道该怎么做?谁能帮我做这件事?我正在使用 matlab 7.9.0 (R2009b) 请帮帮我,如果有人对此有所了解.. :)
【问题讨论】:
-
有一个内置函数混淆器,
pcode(link),您可以使用它。然后将包含 pcode 的文件夹添加到 matlab 路径(或将 pcode 文件添加到路径上的文件夹),将使其可以从任何其他函数访问(只要它没有被隐藏)......转换为 c 或c++(或直接转换为 mex)需要额外的工具箱,您可能有权访问,也可能无权访问。 -
由于代码是要与他人共享的,如果你使用
mex(或者新版Matlab中的coder)编译成C/C++,你可能还需要编译对于多个平台,例如,Mac Intel 64, AMD 64, Windows Intel 32 and 64。使用pcode更直接。 -
+1 我没想到有更明显的理由支持
pcode...(也将我的评论转换为答案)
标签: matlab