从外部头文件导入自定义数据类型定义
默认情况下,代码生成器在生成的代码中使用预定义的数据类型。您可以通过从外部头文件导入自定义类型定义来使用自定义数据类型名称。然后您可以在生成的 C/C++ 代码中使用自己的类型定义。如果您有现有的遗留代码,则可以将该代码集成到生成的 C/C++ 代码中。您可以使用 MATLAB® Coder™ App 或命令行界面导入头文件。
使用 MATLAB Coder App 导入自定义类型
要从外部头文件导入自定义类型:
打开 MATLAB Coder 并点击设置。
在代码外观选项卡中,选择启用自定义数据类型替换。
为启用自定义数据类型替换表中的数据类型指定自定义名称。
选中从外部头文件导入自定义类型复选框。
在头文件文本字段中,使用字符串数组或字符向量单元元胞数组添加外部头文件名。例如,
["myHeader1.h","myHeader2.h","myHeader3.h"]或{'myHeader1.h','myHeader2.h','myHeader3.h'}。
使用命令行界面导入自定义类型
使用 codegen 生成代码时,请使用 coder.EmbeddedCodeConfig 对象中的 ReplacementTypes.IsExtern 和 ReplacementTypes.HeaderFiles 属性。
创建用于生成静态库的代码配置对象。
cfg = coder.config('lib','ecoder',true);
为数据类型指定自定义名称。例如,
double在代码中被命名为Custom_Double,int8被命名为Custom_Int8。cfg.EnableCustomReplacementTypes = true; cfg.ReplacementTypes.double = "Custom_Double"; cfg.ReplacementTypes.int8 = "Custom_Int8";
指定导入外部头文件的配置属性。
% 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。使用
codegen和-config选项生成代码。codegen myAdd.m -args {1,int8(1)} -config cfg -report