指定用户数据
void ssSetUserData(SimStruct *S, void *data)
年代
表示s -功能块的SimStruct。
数据
用户数据。
存储指向包含s函数用户数据的内存位置的指针。为了避免内存泄漏,s函数必须在调用期间释放该内存位置mdlTerminate
.
包含用户数据的s函数必须执行以下步骤。
为用户数据分配内存,使用定制的结构来存储更复杂的数据。
设置SS_OPTION_CALL_TERMINATE_ON_EXIT
选项mdlInitializeSizes
,以确保Simulink金宝app®引擎总是调用mdlTerminate
函数。
在用户数据中存储指向内存位置的指针,使用调用ssSetUserData
.
在mdlTerminate
,使用ssGetUserData
检索指向该内存位置的指针并释放该内存。
看到从多个s -函数参数创建运行时参数下面是一个使用用户数据和运行时参数的示例。
请注意
不能从目标语言编译器(TLC)文件中访问用户数据。如果需要在代码生成期间编写tlc文件以内联s函数,则使用DWork向量而不是用户数据金宝app仿真软件编码器™.有关使用DWork向量的示例,请参见sfcndemo_sfun_rtwdwork
.
C, c++
看到这个功能sfun_runtime4.c
中使用的sfcndemo_runtime
.