Задайте, может ли один из входных портов S-функции быть перезаписан одним из его выходных портов
void ssSetInputPortOverWritable(SimStruct *S, int_T port, int_T isOverwritable)
SSimStruct, представляющий блок S-Function.
portИндекс порта входа, чья перезаписываемость устанавливается.
isOverwritableЗначение, определяющее port перезаписывается.
Использование в mdlInitializeSizes (после ssSetNumInputPorts), чтобы указать, port ли перезаписывается одним из выходных портов S-функции. Simulink® engine использует эту настройку как один из критериев при определении, может ли один из выходных портов этой 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, ss Set Inport Port Optim Opts, ss Set Output Port Optim Opts, ssGetInputPortBufferDstPort