Если используется Embedded Coder ®, можно настроить идентификаторы в коде C/C + +, сгенерированном из кода MATLAB ®. Для каждого типа идентификатора, который требуется настроить, задайте соответствующий параметр формата идентификатора для макроса, определяющего формат создаваемых идентификаторов. Макрос может включать в себя:
Допустимые идентификаторы языка C или C++ (a-z, A-Z, _, 0-9).
Маркеры, перечисленные в следующей таблице. $M требуется.
| Символ | Описание |
|---|---|
$M | Генератор кода вставляет искомый текст, чтобы избежать конфликтов имен. Обязательно. |
$N | Генератор кода вставляет имя объекта (глобальная переменная, глобальный тип, локальная функция, локальная временная переменная или константный макрос), для которого создается идентификатор. Улучшает читаемость сгенерированного кода. Обязательно. |
$R | Генератор кода вставляет имя корневого проекта в идентификатор, заменяя неподдерживаемые символы символом подчеркивания (_). |
На странице «Создать код», чтобы открыть диалоговое окно «Создать», щелкните стрелку «Создать».![]()
Установите один из следующих типов построения:
Source Code
Static Library
Dynamic Library
Executable
Щелкните Дополнительные параметры.
На вкладке Вид кода (Code Appearance) в разделе Формат идентификатора (Identifier Format) введите макрос для каждого типа идентификатора, который требуется настроить.
| Параметр | Макрос по умолчанию |
|---|---|
| Глобальные переменные | $M$N |
| Глобальные типы | $M$N |
| Имя поля глобальных типов | $M$N |
| Локальные функции | $M$N |
| Локальные временные переменные | $M$N |
| Постоянные макросы | $M$N |
| Типы массивов EMX | emxArray_$M$N |
| Функции утилиты массива EMX | emx$M$N |
Например, предположим, что глобальные переменные имеют значение 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 | 'emx$M$N' |
Например:
cfg.CustomSymbolStrGlobalVar = 'glob_$M$N';
Для глобальной переменной с именем g, если маскирование имен не требуется, генерируемым идентификатором является glob_g. При необходимости искажения имен сгенерированный идентификатор включает текст искажения имен.