Если у вас есть 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';