Задайте размещение массива S-функции
void ssSetArrayLayoutForCodeGen(SimStruct *S, SSArrayLayout arrayLayout)
SimStruct, представляющий блок S-Function.
Размещение массива 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 может иметь.
|
Значение размещения массива |
Поддерживается большинство |
|---|---|
|
|
Неуказанный |
|
|
Основной столбец |
|
|
Основная строка |
|
|
Основной столбец или основная строка |
По умолчанию 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);
}Сгенерируйте код основной строки для S-функций (Simulink Coder)
Создайте S-функции автоматически с помощью S-Function Builder