Укажите макет массива S-функции
void ssSetArrayLayoutForCodeGen(SimStruct *S, SSArrayLayout arrayLayout)
SimStruct представляет S-функциональный блок.
Структура массива S-функции.
Укажите макет массива определяемой пользователем S-функции. Использовать этот макрос в mdlInitializeSizes для установки формата массива S-функции. Если SSArrayLayout указанная для S-функции отличается от значения, указанного для параметра конфигурации модели Array layout (Simulink Coder), Simulink ® Coder™ сообщает об ошибке. Можно отключить ошибку, изменив совместимость внешних функций для генерации основного кода строки (Simulink Coder) наwarning или none.
Перечисляемый тип SSArrayLayout определяет набор значений, arrayLayout может иметь.
|
Значение компоновки массива |
Поддерживается большинством |
|---|---|
|
|
Неуказанный |
|
|
Колонна-мажор |
|
|
Ряд-мажор |
|
|
Столбец-мажор или строка-мажор |
По умолчанию SSArrayLayout имеет значение SS_UNSET.
Набор SSArrayLayout как SS_ALL если на S-функцию не влияет компоновка массива. Созданный код не влияет на производительность кэша.
При выполнении основных имитаций строк в режимах Accelerator и Rapid Accelerator Simulink использует MEX-файлы S-функции вместо встраивания S-функции с помощью компилятора целевого языка (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);
}Создание основного кода строки для S-функций (Simulink Coder)
Автоматическое построение S-функций с помощью построителя S-функций