This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Specify whether one of an S-function's input ports can be overwritten by one of its output ports


void ssSetInputPortOverWritable(SimStruct *S, int_T port, int_T



SimStruct representing an S-Function block.


Index of the input port whose overwritability is being set.


Value specifying whether port is overwritable.


Use in mdlInitializeSizes (after ssSetNumInputPorts) to specify whether port is overwritable by one of the S-function's output ports. The Simulink® engine uses this setting as one criterion in determining whether one of the output ports of this S-function can share memory with port. If isOverwritable=1 and the other criteria are satisfied, the engine allocates a common block of memory for the input port and one of the S-function's output ports, thus reducing simulation memory requirements. The default is isOverwritable=0, which means that port cannot share memory with any of the S-function's output ports.

    Note   If you set an input port to be overwritable, you must also specify that the input port and at least one of the S-function's output ports are reusable. Use ssSetInputPortOptimOpts and ssSetOutputPortOptimOpts to do this.


C, C++


See the S-function sfun_multirate.c used in sfcndemo_sfun_multirate and the S-function sdotproduct.c used in sfcndemo_sdotproduct.

Introduced before R2006a

Was this topic helpful?