Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

运行和调试 MEX 函数

当您调用 MEX 函数时,向它传递您在原始 MATLAB® 算法中使用的相同输入。不要把 coder.Constant 或任何 coder.Type 类传递给 MEX 函数。您只能将这些类与 codegen 函数结合使用。

要运行由 MATLAB Coder™ 生成的 MEX 函数,您必须有 MEX 函数所需的所有工具箱的许可证。例如,如果从使用 Computer Vision Toolbox™ 函数或 System object™ 的 MATLAB 算法生成 MEX 函数,则必须有 Computer Vision Toolbox 许可证才能运行 MEX 函数。

升级 MATLAB 后,在使用新版本运行 MEX 函数之前,请先重新编译它们。

调试 MEX 函数

要调试 MEX 函数,请使用 dispfprintf 函数来检查 MEX 函数变量的内容。您也可以使用 save 函数将 MEX 函数变量保存到 MAT 或 ASCII 格式的文件中。请参阅Data Read and Write Considerations

使用 C/C++ 调试器调试 MEX 函数

要使用 C/C++ 调试器调试 MEX 函数,请将 MEX 配置对象属性 EnableDebugging 设置为 true

cfg = coder.config('mex');
cfg.EnableDebugging = true;
codegen -config cfg foo_mex
您也可以通过执行以下命令来调试您的 MEX 函数:

codegen -g foo_mex

foo_mex 文件是您要调试的 MEX 文件。您可以使用 C 或 C++ 调试器来调试此文件。有关在 Microsoft Windows 平台上使用 C/C++ 调试器进行调试的详细信息,请参阅在 Microsoft Windows 平台上调试

有关在 Linux® 或 Mac 平台上使用 C/C++ 调试器进行调试的详细信息,请参阅Debug on Linux PlatformsDebug on macOS Platforms