Задайте, может ли один из входных портов S-функции быть перезаписан одним из его выходных портов
void ssSetInputPortOverWritable(SimStruct *S, int_T port, int_T isOverwritable)
S
SimStruct, представляющий блок 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