Задайте, может ли один из входных портов S-функции быть перезаписан одним из ее выходных портов
void ssSetInputPortOverWritable(SimStruct *S, int_T port, int_T isOverwritable)
SSimStruct, представляющий Блок s-function.
portИндекс входного порта, overwritability которого устанавливается.
isOverwritableЗначение, задающее, ли port сверхперезаписываемо.
Используйте в mdlInitializeSizes (после того, как ssSetNumInputPorts) задавать ли port сверхперезаписываемо одним из выходных портов S-функции. Механизм Simulink® использует эту установку в качестве одного критерия в определении, может ли один из выходных портов этой S-функции совместно использовать память с port. Если isOverwritable=1 и другим критериям удовлетворяют, механизм выделяет общий блок памяти для входного порта и одного из выходных портов S-функции, таким образом уменьшая требования к памяти симуляции. Значением по умолчанию является isOverwritable=0, что означает тот port не может совместно использовать память ни с одним из выходных портов S-функции.
Примечание
Если вы устанавливаете входной порт быть сверхперезаписываемым, необходимо также указать, что входной порт и по крайней мере один из выходных портов S-функции являются допускающими повторное использование. Используйте ssSetInputPortOptimOpts и ssSetOutputPortOptimOpts сделать это.
C, C++
Смотрите S-функцию sfun_multirate.c используемый в sfcndemo_sfun_multirate и S-функция sdotproduct.c используемый в sfcndemo_sdotproduct.
ssSetNumInputPorts, ssSetInputPortOptimOpts, ssSetOutputPortOptimOpts, ssGetInputPortBufferDstPort