在matlab中将mex函数调用限制为m-file

时间:2011-05-05 11:24:42

标签: function matlab mex

嘿那里, 假设我有一个名为'myMx'的已编译mex文件,有没有办法禁止直接调用myMx()?我只希望从我的m文件函数callMyMx()中调用myMx(),因为这是我执行其他输入参数检查的地方,因此我不必在mex文件本身中执行此操作。 谢谢!

2 个答案:

答案 0 :(得分:6)

要确保其他功能无法访问myMx,您必须将其设为private function。简而言之,您在private所在的目录中创建一个子目录callMyMx,并在那里移动myMx。这可以保证只有callMyMx目录中的函数才能看到myMx

答案 1 :(得分:0)

如果你想隐藏mex功能甚至超过Jonas的解决方案,你可以把它放在一个不在路径上的文件夹中,然后让你的m文件在调用mex函数之前将位置添加到路径中之后删除它。

没有使用私有文件夹那么优雅,它会增加计算开销,但它会确保没有其他函数可以调用mex函数。