首页 文章

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

提问于
浏览
1

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

2 回答

  • 6

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

  • 0

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

    没有像使用私人文件夹那样优雅,它会增加计算开销,但它将确保没有其他功能可以调用mex函数 .

相关问题