Если у вас есть 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 | Localfunctions | '$M$N' |
CustomSymbolStrTmpVar | Локальные временные переменные | '$M$N' |
CustomSymbolStrMacro | Постоянные макросы | '$M$N' |
CustomSymbolStrEMXArray | Типы массива EMX | 'emxArray_$M$N' |
CustomSymbolStrEMXArrayFcn | Служебные функции EMX массивов | 'emx$M$N' |
Например:
cfg.CustomSymbolStrGlobalVar = 'glob_$M$N';
Для глобальной переменной под названием g
, когда искажение имени не требуется, сгенерированным идентификатором является glob_g
. Если искажение имени требуется, сгенерированный идентификатор включает текст искажения имени.