Если у вас есть Embedded Coder®, можно настроить идентификаторы в коде C/C + +, сгенерированном из MATLAB® код. Для каждого типа идентификатора, который вы хотите настроить, установите соответствующий параметр формата идентификатора на макрос, который задает формат сгенерированных идентификаторов. Макрос может включать:
Действительные идентификаторы языка C или C++ (a-z, A-Z, _, 0-9).
Лексемы, перечисленные в следующей таблице. $M
обязательно.
Лексема | Описание |
---|---|
$M | Генератор кода вставляет текст управления именами, чтобы избежать конфликтов имен. Обязательно. |
$N | Генератор кода вставляет имя объекта (глобальная переменная, глобальный тип, локальная функция, локальная временная переменная или постоянный макрос), для которого генерируется идентификатор. Улучшает читаемость сгенерированного кода. Обязательно. |
$R | Генератор кода вставляет имя корневого проекта в идентификатор, заменяя неподдерживаемые символы символом подчеркивания (_). |
На странице Generate Code, чтобы открыть диалоговое окно Generate, щелкните стрелу Generate.
Установите Build type в одно из следующих значений:
Source Code
Static Library
Dynamic Library
Executable
Нажмите More Settings.
На вкладке Code Appearance, под Identifier Format, для каждого типа идентификатора, который вы хотите настроить, введите макрос.
Параметр | Макрос по умолчанию |
---|---|
Global variables | $M$N |
Global types | $M$N |
Field name of global types | $M$N |
Local functions | $M$N |
Local temporary variables | $M$N |
Constant macros | $M$N |
EMX Array Types | emxArray_$M$N |
EMX Array Utility Functions | emx$M$N |
Например, предположим, что Global variables имеет значение glob_$M$N
. Для глобальной переменной с именем g
, когда управление именами не требуется, сгенерированный идентификатор glob_g
. Если требуется управление именем, сгенерированный идентификатор включает в себя текст управления именем.
Создайте объект строения кода для библиотеки или исполняемой программы. Для примера:
cfg = coder.config('lib','ecoder',true);
Для каждого типа идентификатора, который вы хотите настроить, укажите макрос как вектор символов.
Параметр | Описание | Макрос по умолчанию |
---|---|---|
CustomSymbolStrGlobalVar | Глобальные переменные | '$M$N' |
CustomSymbolStrType | Глобальные типы | '$M$N' |
CustomSymbolStrField | Имя поля глобальных типов | '$M$N' |
CustomSymbolStrFcn | Локальные функции | '$M$N' |
CustomSymbolStrTmpVar | Локальные временные переменные | '$M$N' |
CustomSymbolStrMacro | Постоянные макросы | '$M$N' |
CustomSymbolStrEMXArray | Типы массивов EMX | 'emxArray_$M$N' |
CustomSymbolStrEMXArrayFcn | Служебные функции Массив | 'emx$M$N' |
Для примера:
cfg.CustomSymbolStrGlobalVar = 'glob_$M$N';
Для глобальной переменной с именем g
, когда управление именами не требуется, сгенерированный идентификатор glob_g
. Если требуется управление именем, сгенерированный идентификатор включает в себя текст управления именем.