Main Content

测试生成的 C/C++ 代码

为您的 MATLAB® 代码生成代码后,请验证生成代码的运行时行为。要查看生成的代码并识别潜在问题,请访问代码生成报告。

根据您的编译类型,您可以测试生成的代码以验证代码行为:

  • 测试 MEX 代码以验证行为。

  • 通过使用软件在环和处理器在环执行来测试独立代码(需要 Embedded Coder®)。

测试 MEX 代码以验证行为

如果您使用 App 生成 MEX 函数,您可以在 App 中测试 MEX 函数。

  1. 生成代码页上,点击验证代码

  2. 键入或选择测试文件名。

  3. 要运行测试文件而不将对原始 MATLAB 函数的调用替换为对 MEX 函数的调用,请选择 MATLAB 代码作为运行方式。点击运行生成的代码

  4. 要运行测试文件并将对原始 MATLAB 函数的调用替换为对 MEX 函数的调用,请选择生成代码作为运行方式。点击运行生成的代码

  5. 将运行原始 MATLAB 函数的结果与运行 MEX 函数的结果进行比较。

如果您有 Embedded Coder,您可以通过使用软件在环 (SIL) 或处理器在环 (PIL) 执行来验证生成的 C/C++ 代码的数值行为。您还可以生成执行时间的概要文件。

通过使用软件在环和处理器在环测试独立代码

要在目标硬件上测试生成的独立代码,可以对生成的代码运行单元测试。要在 MATLAB 之外的单独进程中对独立代码运行单元测试,请使用软件在环 (SIL) 或处理器在环 (PIL) 执行。要使用 SIL 或 PIL 执行,您必须有 Embedded Coder。

请参阅使用 MATLAB Coder 的软件在环执行 (Embedded Coder)Processor-in-the-Loop Execution with the MATLAB Coder App (Embedded Coder)

提示

在命令行中测试 MEX 文件

如果使用 codegen 生成 MEX 函数,请使用 -test 选项。例如:

codegen myfunction -test 'myfunction_test'

您也可以使用 coder.runTest 来测试 MEX 函数。例如:

coder.runTest('myfunction_test', 'myfunction')

对生成的代码进行单元测试

请参阅Unit Test Generated Code with MATLAB Coder

要对外部代码进行单元测试,请参阅Unit Test External C Code with MATLAB Coder

另请参阅

相关主题