По умолчанию, MATLAB® Coder™ использует предопределенные типы данных в сгенерированном коде. Можно использовать настроенные имена типов данных путем импорта пользовательских определений типа из внешних заголовочных файлов. Можно затем использовать собственные определения типа в сгенерированном коде C/C++. Если у вас есть существующий унаследованный код, можно интегрировать тот код в сгенерированном коде C/C++. Можно импортировать заголовочный файл или при помощи приложения MATLAB Coder или при помощи интерфейса командной строки.
Импортировать пользовательские типы из внешних заголовочных файлов:
Откройте приложение MATLAB Coder и перейдите к странице Generate Code.
Нажмите More Settings.
Во вкладке Code Appearance выберите Enable custom data type replacement.
Задайте свои пользовательские имена для типов данных в таблице Enable custom data type replacement и нажмите Enter.
Установите флажок Import custom types from external header files.
В текстовом поле Header files введите разделенный от точки с запятой список внешних имен заголовочного файла и нажмите Enter. Например, myHeader1.h;myHeader2.h;myHeader3.h
.
Используйте ReplacementTypes.IsExtern
и ReplacementTypes.HeaderFiles
свойства в coder.EmbeddedCodeConfig
возразите, когда вы сгенерируете код при помощи codegen
.
Создайте объект настройки кода для генерации статической библиотеки.
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
, смотрите Конфигурируют Сборку при помощи Объекта Настройки.
Сгенерируйте код при помощи codegen
и -config
опция.
codegen myAdd.m -args {1,int8(1)} -config cfg -report