从外部头文件导入自定义数据类型定义
R2026b默认情况下,代码生成器在生成代码中使用预定义的数据类型。您可以通过从外部头文件导入自定义类型定义来使用自定义数据类型名称。然后,您可以在生成的 C/C++ 代码中使用自己的类型定义。如果您有现有的旧代码,您可以将该代码集成到生成的 C/C++ 代码中。您可以使用 MATLAB® Coder™ 或命令行界面导入头文件。
使用 MATLAB Coder 导入自定义类型
要从外部头文件导入自定义类型,请执行以下操作:
打开 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