exponenta event banner

класс coder.StructType

Пакет: кодер
Суперклассы: coder.ArrayType

Представление набора массивов структуры MATLAB

Описание

Указывает набор массивов структуры, которые должен принимать созданный код. Использовать только с fiaccel -args вариант. Не передавайте в качестве входных данных сгенерированную функцию MEX.

Строительство

Примечание

Можно также создавать и редактировать coder.Type объектов в интерактивном режиме с помощью редактора типов кодеров. См. раздел Создание и редактирование типов ввода с помощью редактора типов кодеров.

t=coder.typeof(struct_v) создает coder.StructType объект для структуры с теми же полями, что и скалярная структура struct_v.

t=coder.typeof(struct_v, sz, variable_dims) возвращает измененную копию coder.typeof(struct_v) с (верхней границей) размером, указанным sz и переменные размеры variable_dims. Если sz определяет inf для размера предполагается, что размер размера является неограниченным, а размер - переменным. Когда sz является [], (верхняя граница) размеры struct_v остаются неизменными. Если variable_dims входной параметр не указан, размеры типа считаются фиксированными, за исключением неограниченных. Когда variable_dims является скаляром, он применяется к ограниченным размерам, которые не являются 1 или 0 (которые считаются фиксированными).

t=coder.newtype('struct', struct_v, sz, variable_dims) создает coder.StructType объект для массива структур с теми же полями, что и скалярная структура struct_v и (верхняя граница) размер sz и переменные размеры variable_dims. Если sz определяет inf для размера предполагается, что размер размера является неограниченным, а размер - переменным. Когда variable_dims не уточняется, размеры типа предполагается фиксированными, за исключением тех, которые являются неограниченными. Когда variable_dims является скаляром, он применяется к размерам типа, за исключением того, что размер 1 или 0, который предполагается фиксированным.

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

struct_v

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

sz

Размерный вектор, задающий каждый размер объекта типа.

По умолчанию: [1 1] для coder.newtype

variable_dims

Логический вектор, указывающий, является ли каждое измерение переменным размером (true) или фиксированным размером (false).

По умолчанию: false (размер (sz)) | sz = = Inf дляcoder.newtype

Свойства

Alignment

Выравнивание памяти во время выполнения структур этого типа в байтах. При наличии лицензии Embedded Coder ® и использовании библиотек замены кода (CRL) CRL обеспечивают возможность выравнивания объектов данных, передаваемых в функцию замены, с заданной границей. Эта возможность позволяет использовать преимущества реализации целевых функций, требующих выравнивания данных. По умолчанию структура не выравнивается по определенной границе, поэтому ей не будут соответствовать функции CRL, требующие выравнивания.

Alignment должно быть либо -1 или мощность 2 это не более 128.

ClassName

Класс значений в этом наборе.

Extern

Определяется ли тип структуры на стороне.

Fields

Структура, дающая coder.Type каждого поля в структуре.

HeaderFile

Если тип структуры определен извне, имя файла заголовка, содержащего внешнее определение структуры, например, "mystruct.h".

По умолчанию созданный код содержит #include инструкции для пользовательских файлов заголовка после стандартных файлов заголовка. Если стандартный файл заголовка ссылается на пользовательский тип структуры, то компиляция завершается неуспешно. Путем указания HeaderFile MATLAB ® Coder™ включает этот файл заголовка точно в том месте, где он требуется.

Должен быть непустым символьным вектором или строковым скаляром.

SizeVector

Верхний размер массивов в этом наборе.

VariableDims

Вектор, используемый для указания того, является ли каждый размер массива фиксированным или переменным. Если векторный элемент trueсоответствующий размер является переменным размером.

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

Создайте тип для структуры с полем переменного размера.

x.a = coder.typeof(0,[3 5],1);
x.b = magic(3);
coder.typeof(x)
% Returns 
% coder.StructType
%    1x1 struct
%      a:  :3x:5 double
%      b:  3x3  double
% ':' indicates variable-size dimensions

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