Задайте размещение массива 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