Если у вас есть лицензия 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;
} |
На странице «Создать код», чтобы открыть диалоговое окно «Создать», щелкните стрелку «Создать».![]()
Установите один из следующих типов построения:
Source Code
Static Library (.lib)
Dynamic Library (.dll)
Executable (.exe)
Щелкните Дополнительные параметры.
На вкладке Все настройки (All Settings) в разделе Дополнительно (Advanced) установите режим литья в одно из следующих значений.
Nominal
Standards Compliant
Explicit
Создание объекта конфигурации кода для 'lib', 'dll', или 'exe'. Например:
cfg = coder.config('lib','ecoder',true); % or dll or exe
Установите CastingMode одному из следующих значений:
'Nominal'
'Standards'
'Explicit'
Например:
cfg.CastingMode = 'Standards';