Main Content

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

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

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

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

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

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

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