主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

从外部头文件导入自定义数据类型定义

默认情况下,代码生成器在生成的代码中使用预定义的数据类型。您可以通过从外部头文件导入自定义类型定义来使用自定义数据类型名称。然后您可以在生成的 C/C++ 代码中使用自己的类型定义。如果您有现有的遗留代码,则可以将该代码集成到生成的 C/C++ 代码中。您可以使用 MATLAB® Coder™ App 或命令行界面导入头文件。

使用 MATLAB Coder App 导入自定义类型

要从外部头文件导入自定义类型:

  1. 打开 MATLAB Coder 并点击设置

  2. 代码外观选项卡中,选择启用自定义数据类型替换

  3. 启用自定义数据类型替换表中的数据类型指定自定义名称。

  4. 选中从外部头文件导入自定义类型复选框。

  5. 头文件文本字段中,使用字符串数组或字符向量单元元胞数组添加外部头文件名。例如,["myHeader1.h","myHeader2.h","myHeader3.h"]{'myHeader1.h','myHeader2.h','myHeader3.h'}

使用命令行界面导入自定义类型

使用 codegen 生成代码时,请使用 coder.EmbeddedCodeConfig 对象中的 ReplacementTypes.IsExternReplacementTypes.HeaderFiles 属性。

  1. 创建用于生成静态库的代码配置对象。

    cfg = coder.config('lib','ecoder',true);

  2. 为数据类型指定自定义名称。例如,double 在代码中被命名为 Custom_Doubleint8 被命名为 Custom_Int8

    cfg.EnableCustomReplacementTypes = true;
    cfg.ReplacementTypes.double = "Custom_Double";
    cfg.ReplacementTypes.int8 = "Custom_Int8";
    

  3. 指定导入外部头文件的配置属性。

    % Include single header file
    
    cfg.ReplacementTypes.IsExtern = true;
    cfg.ReplacementTypes.HeaderFiles = "myHeader.h";
    cfg.CustomInclude = 'C:\myFiles'; % Include path of the header file
    
    % Include multiple header files
    
    cfg.ReplacementTypes.IsExtern = true;
    cfg.ReplacementTypes.HeaderFiles = ["myHeader1.h","myHeader2.h","myHeader3.h"]
    cfg.CustomInclude = '"C:\Program Files\MATLAB\myFiles"'; % Include path of the header files
    

    有关 CustomInclude 的更多信息,请参阅 Configure Build

  4. 使用 codegen-config 选项生成代码。

    codegen myAdd.m -args {1,int8(1)} -config cfg -report
    

另请参阅

函数

对象

主题