【问题标题】:Limit mex-function call to m-file in matlab在matlab中限制对m文件的mex函数调用
【发布时间】:2011-05-05 11:24:41
【问题描述】:

你好, 假设我有一个名为“myMx”的已编译 mex 文件,有没有办法禁止直接调用 myMx()?我只希望从我的 m 文件函数 callMyMx() 中调用 myMx(),因为这是我进行额外输入参数检查的地方,这样我就不必在 mex 文件本身中执行它。 谢谢!

【问题讨论】:

    标签: function matlab mex


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-07
        • 1970-01-01
        • 2013-01-15
        相关资源
        最近更新 更多