Если у вас есть Embedded Coder® лицензия, вы можете управлять типами данных в коде C/C + +, сгенерированном из MATLAB® код. Можно задать один из следующих режимов литья.
| Режим литья | Описание |
|---|---|
| Номинал | Номинальный режим литья является режимом литья по умолчанию. Сгенерированный код C/C + + использует приведение типов данных компилятора C по умолчанию. Если у вас нет специальных информационных требований к типу данных, выберите эту опцию. Вот пример кода, сгенерированного с использованием номинального режима кастинга: short addone(short x)
{
int i;
i = x + 1;
if (i > 32767) {
i = 32767;
}
return (short)i;
} |
| Отвечающие стандартам | Сгенерированный код C/C + + имеет типы данных, которые соответствуют MISRA® стандарты. Приведение типа данных MISRA устраняет общие стандартные нарушения MISRA, включая арифметику адреса и назначение. Он уменьшает 10,1, 10,2, 10,3 и 10,4 нарушения. Вот пример кода, сгенерированного с использованием совместимого со стандартом режима литья: short addone(short x)
{
int i;
i = (int)x + (int)1;
if (i > (int)32767) {
i = (int)32767;
}
return (short)i;
} |
| Явный | Сгенерированный код C/C + + имеет явные типы данных. Явный тип данных предоставляет информацию об объеме памяти, который использует переменная, и об уровне точности вычислений, использующих переменную. Вот пример кода, сгенерированного с использованием явного режима кастинга: short addone(short x)
{
int i;
i = (int)x + 1;
if (i > 32767) {
i = 32767;
}
return (short)i;
} |
На странице Generate Code, чтобы открыть диалоговое окно Generate, щелкните стрелу Generate.![]()
Установите Build type в одно из следующих значений:
Source Code
Static Library (.lib)
Dynamic Library (.dll)
Executable (.exe)
Нажмите More Settings.
На вкладке All Settings под Advanced установите Casting mode одно из следующих значений:
Nominal
Standards Compliant
Explicit
Создайте объект строения кода для 'lib', 'dll', или 'exe'. Для примера:
cfg = coder.config('lib','ecoder',true); % or dll or exe
Установите CastingMode свойство одного из следующих значений:
'Nominal'
'Standards'
'Explicit'
Для примера:
cfg.CastingMode = 'Standards';