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()
другому?