ssSetDWorkRTWIdentifier
Specify the identifier used to declare a DWork vector in code generated from the associated S-function
Syntax
char_T *ssSetDWorkRTWIdentifier(SimStruct *S, int_T vector, char_T *id)
Arguments
SSimStruct that represents an S-Function block.
vectorIndex of the work vector, where the index is one of
0,1,2,...ssGetNumDWork(S)-1.idDWork vector Identifier. This must point to persistent memory.
Returns
A pointer (char_T *) to the Simulink®
Coder™ identifier entered in id.
Description
Specifies id as the identifier used in code generated by the
Simulink
Coder product to declare the DWork vector specified by
vector. For more information on using DWork vectors, see
How to Use DWork Vectors.
This function must only be called from the mdlInitializeSizes
or mdlSetWorkWidths functions.
Languages
C, C++
Examples
See the S-function sfun_rtwdwork.c used in sfcndemo_sfun_rtwdwork.
The following portion of the mdlInitializeSizes method
initializes the DWork vector and all code generation properties associated with
it.
ssSetNumDWork(S, 1);
ssSetDWorkWidth(S, 0, 1);
ssSetDWorkDataType(S, 0, SS_DOUBLE);
/* Identifier; free any old setting and update */
id = ssGetDWorkRTWIdentifier(S, 0);
if (id != NULL) {
free(id);
}
id = malloc(80);
mxGetString(ID_PARAM(S), id, 80);
ssSetDWorkRTWIdentifier(S, 0, id);
The following portion of the mdlTerminate method frees up the
memory allocated for the identifier to prevent any memory leaks.
char* id;
char* tq;
/* Identifier; free any old setting and update */
id = ssGetDWorkRTWIdentifier(S, 0);
if (id != NULL) {
free(id);
}
ssSetDWorkRTWIdentifier(S, 0, NULL);
See Also
Version History
Introduced in R2007b