exponenta event banner

setReservedIdentifiers

Зарегистрировать зарезервированные идентификаторы для связи с библиотекой замены кода

Описание

пример

setReservedIdentifiers(hTable,ids) регистрирует зарезервированные структуры идентификаторов в таблице замены кода.

В таблице замены кода генератор кода регистрирует каждое имя реализации функции, определенное элементом таблицы, как зарезервированный идентификатор. Можно зарегистрировать дополнительные зарезервированные идентификаторы для таблицы для каждого файла заголовка. Предоставление дополнительных зарезервированных идентификаторов может помочь предотвратить дублирование символов и другие связанные с идентификатором проблемы компиляции и связи.

setReservedIdentifiers функция позволяет зарегистрировать до четырех зарезервированных структур идентификаторов в таблице замены кода. Один набор зарезервированных идентификаторов может быть связан с библиотекой замены кода, в то время как три других (если они имеются) должны быть связаны с библиотеками с именем ANSI_C, ISO_C, ISO_C++, или GNU.

Сведения о создании списка зарезервированных идентификаторов для библиотеки замены кода, используемой для создания кода, см. в разделе Зарезервированные идентификаторы и замена кода.

Примеры

свернуть все

В этом примере показано, как использовать setReservedIdentifiers для регистрации четырех зарезервированных структур идентификаторов, для 'ANSI_C', 'ISO_C','ISO_C++', и 'My Custom CRL'соответственно.

hLib = RTW.TflTable;

% Create and register CRL entries here

.
.
.

% Create and register reserved identifiers
d{1}.LibraryName = 'ANSI_C';
d{1}.HeaderInfos{1}.HeaderName = 'math.h';
d{1}.HeaderInfos{1}.ReservedIds = {'a', 'b'}; 
d{1}.HeaderInfos{2}.HeaderName = 'foo.h';
d{1}.HeaderInfos{2}.ReservedIds = {'c', 'd'};

d{2}.LibraryName = 'ISO_C';
d{2}.HeaderInfos{1}.HeaderName = 'math.h';
d{2}.HeaderInfos{1}.ReservedIds = {'a', 'b'}; 
d{2}.HeaderInfos{2}.HeaderName = 'foo.h';
d{2}.HeaderInfos{2}.ReservedIds = {'c', 'd'};

d{3}.LibraryName = 'ISO_C++';
d{3}.HeaderInfos{1}.HeaderName = 'math.h';
d{3}.HeaderInfos{1}.ReservedIds = {'a', 'b'}; 
d{3}.HeaderInfos{2}.HeaderName = 'foo.h';
d{3}.HeaderInfos{2}.ReservedIds = {'c', 'd'};

d{4}.LibraryName = 'My Custom CRL';
d{4}.HeaderInfos{1}.HeaderName = 'my_math_lib.h';
d{4}.HeaderInfos{1}.ReservedIds = {'y1', 'u1'}; 
d{4}.HeaderInfos{2}.HeaderName = 'my_oper_lib.h';
d{4}.HeaderInfos{2}.ReservedIds = {'foo', 'bar'};

setReservedIdentifiers(hLib, d);

Входные аргументы

свернуть все

hTable является дескриптором таблицы замены кода, ранее возвращенной hTable = RTW.TflTable.

Пример: hLib

ids - структура, определяющая зарезервированные ключевые слова для регистрации в библиотеке. Структура должна содержать:

  • LibraryName элемент, вектор символов или строковый скаляр, указывающий 'ANSI_C', 'ISO_C', 'ISO_C++', 'GNU'.

  • HeaderInfos элемент, структура или массив ячеек структур, содержащий:

    • HeaderName элемент, вектор символов или строковый скаляр, указывающий файл заголовка, в котором объявлены идентификаторы.

    • ReservedIds элемент, массив ячеек символьных векторов или строковый массив, который задает имена идентификаторов, регистрируемых как зарезервированные ключевые слова.

Пример: d

Представлен в R2008a