8

我正在写一个 Matlab mex 文件。但是,mex 文件似乎有一个严重的限制:help mexfilename不会导致出现帮助文本。

我可以通过编写一个 m 文件来规避这个问题,该文件最终调用 mex 文件,但包含帮助,但必须有更好的方法。

另一方面,这样我可以在 m 文件中进行所有错误检查,这样做更方便......

4

2 回答 2

11

我相信 PierreBdR 是对的;您将创建函数的 m 文件版本,仅使用标头调用和注释块,但没有正文。

将输入的错误检查放在 m 文件中可能不是一个坏主意,然后让 m 文件调用 mex 文件(但您可能必须给它们不同的名称)。在 MATLAB 中检查变量(例如,使用诸如nargchk之类的内置函数)并将它们放入您可能总是希望 mex 函数的输入具有的标准格式可能更直接。我看过的许多图像处理工具箱函数似乎都是这样做的(格式化和检查 m 文件中的数据,然后在 mex 文件中进行昂贵的计算)。

于 2009-02-10T15:28:52.087 回答
5

您必须创建一个与您的 mex 文件 (name.c) 同名的 m 文件 (name.m)。然后,你放了函数声明和帮助文本,但没有函数体。例子:

function [o1,o2] = MyFct(i1,i2,i3)
% MyFct takes 3 arguments and returns 2 ...      
于 2009-02-10T14:50:47.687 回答