При генерации кода C/C++ из MATLAB® код, опция Data Type Replacement позволяет вам использовать встроенные типы данных C или MathWorks® определения типов в сгенерированном коде. Генерация кода поддерживает эти типы данных для пользовательского переименования: double
единственный
uint8
uint16
uint32
uint64
int8
int16
int32
int64
'char'
, и logical
.
Опция Data Type Replacement доступна в окне Generate Code (More Settings) на вкладке Code Appearance. Можно выбрать одну из этих опций:
Use built-in C data types in the generated code
Use MathWorks typedefs in the generated code
Примечание
Генератор кода не заменяет символьные массивы переменного размера на char*
введите строки в сгенерированном коде.
Если у вас есть Embedded Coder® установленный, можно задать пользовательские имена для MATLAB встроенные типы данных в сгенерированном коде C/C++. Например, можно настроить double
как Custom_Double
.
Задавать пользовательские имена для типов данных MATLAB:
Откройте приложение MATLAB Coder™.
Перейдите к шагу Generate Code.
Нажмите More Settings.
Во вкладке Code Appearance выберите Enable custom data type replacement под Custom Data Type Replacement.
Таблица приводит имя поддерживаемых типов данных. Задайте свои пользовательские имена для этих типов данных и нажмите Enter. Заданные пользовательские имена заменяют встроенные имена типов данных в сгенерированном коде. Если вы не задаете пользовательское имя, генератор кода использует имя по умолчанию.
Используйте EnableCustomReplacementTypes
и ReplacementTypes
свойства в настройке Embedded Coder возражают, когда вы генерируете код при помощи codegen
.
Запишите функцию MATLAB, от которой можно сгенерировать код. Этот пример использует функцию myAdd
это возвращает сумму его входных параметров.
function c = myAdd(a,b) c = a + b; end
Создайте объект настройки кода для генерации статической библиотеки.
cfg = coder.config('lib','ecoder',true);
Установите EnableCustomReplacementTypes
свойство к true
.
cfg.EnableCustomReplacementTypes = true;
Задайте пользовательское имя для типов данных. Здесь, встроенное имя типа данных uint8
настраивается к Custom_Uint8
.
cfg.ReplacementTypes.uint8 = "Custom_Uint8";
Сгенерируйте код при помощи codegen
и -config
опция.
codegen myAdd.m -args {1,uint8(1)} -config cfg -report