ssSetArrayLayoutForCodeGen

Задайте размещение массива S-функции

Синтаксис

void ssSetArrayLayoutForCodeGen(SimStruct *S, SSArrayLayout arrayLayout)

Аргументы

S

SimStruct, представляющий блок S-Function.

arrayLayout

Размещение массива S-функции.

Описание

Задайте размещение массива пользовательской S-функции. Используйте этот макрос в mdlInitializeSizes для установки размещения массива S-функции. Если на SSArrayLayout заданный для S-функции отличается от значения заданного для параметра конфигурации модели Array layout (Simulink Coder), Simulink® Coder™ сообщает об ошибке. Можно выключить ошибку, изменив External functions compatibility for row-major code generation (Simulink Coder) на warning или none.

Перечисленный тип SSArrayLayout определяет множество значений, которые arrayLayout может иметь.

Значение размещения массива

Поддерживается большинство

SS_UNSET

Неуказанный

SS_COLUMN_MAJOR

Основной столбец

SS_ROW_MAJOR

Основная строка

SS_ALL

Основной столбец или основная строка

По умолчанию SSArrayLayout установлено в SS_UNSET.

Задайте SSArrayLayout как SS_ALL если на вашу S-функцию не влияет размещение массива. Сгенерированный код не влияет на эффективность кэша.

При выполнении симуляций основных строк в режимах Accelerator и Rapid Accelerator, Simulink использует файлы MEX S-функции вместо вставки S-функции с помощью Target Language Compiler (TLC).

Языки

C, C++

Примеры

Задайте S-функцию для генерации кода основного столбца:

static void mdlInitializeSizes(SimStruct *S)
{    
    ssSetArrayLayoutForCodeGen(S, SS_COLUMN_MAJOR);
}

Задайте S-функцию для генерации кода большой строки:

static void mdlInitializeSizes(SimStruct *S)
{    
    ssSetArrayLayoutForCodeGen(S, SS_ROW_MAJOR);
}

Задайте S-функцию для генерации кода основного столбца или основной строки:

static void mdlInitializeSizes(SimStruct *S)
{    
    ssSetArrayLayoutForCodeGen(S, SS_ALL);
}

Введенный в R2018b