Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

为什么要在 MATLAB 中测试 MEX 函数?

在为您的 MATLAB® 代码生成 C/C++ 代码之前,最好的做法是测试 MEX 函数,以确认它提供与原始 MATLAB 代码相同的功能。要进行此测试,请使用与运行原始 MATLAB 代码时所用的相同输入运行 MEX 函数,并对结果进行比较。有关如何使用 MATLAB Coder™ App 测试 MEX 函数的详细信息,请参阅Check for Run-Time Issues by Using the AppVerify MEX Functions in the MATLAB Coder App。有关如何在命令行中测试 MEX 函数的详细信息,请参阅Verify MEX Functions at the Command Line

在生成代码之前,在 MATLAB 中运行 MEX 函数可以检测并修复运行时错误,而在生成的代码中诊断这些错误要难得多。如果在 MATLAB 函数中遇到运行时错误,请在生成代码之前修复它们。请参阅Fix Errors Detected at Code Generation TimeDebug Run-Time Errors

在 MATLAB 中运行 MEX 函数时,默认情况下会执行以下运行时检查:

  • 内存完整性检查。这些检查执行数组边界检查和维度检查,并在为 MATLAB 函数生成的代码中检测内存完整性违规情况。如果检测到违规,MATLAB 将停止执行并提供诊断消息。

  • 在为 MATLAB 函数生成的代码中的响应能力检查。这些检查会定期检查为 MATLAB 函数生成的代码中的 Ctrl+C 中断,以使您可以使用 Ctrl+C 终止执行。

有关详细信息,请参阅Control Run-Time Checks