Simulink S-функция ssGetOutputPortRealSignal() возвращает постоянный и детерминированный указатель?

ssGetOutputPortRealSignal() определяется в документации как:

real_T *ssGetOutputPortRealSignal(SimStruct *S, int_T port)

Безопасно ли хранить этот указатель при обращении к mdlOutputs()?

например, простой mdlOutputs() реализация может выглядеть так:

mdlOutputs(SimStruct *S, int_T tid) {
    int_T i;
    InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);

    real_T *y = ssGetOutputPortRealSignal(S,0);
    int_T width = ssGetOutputPortWidth(S,0);

    // set all output values to the value given by getSomeValueByIndex()
    for (i=0; i<width; i++) {
        y[i] = getSomeValueByIndex(i); // assumes existence of real_T getSomeValueByIndex(int_T i)
    }
}

Указатель возвращается ssGetOutputPortRealSignal() когда-нибудь изменится с одного звонка на mdlOutputs() другому?

0 ответов

Другие вопросы по тегам