主要内容

使c++对象持久化

你的c++回调方法可能需要创建持续的c++对象,对象方法退出后继续存在。例如,一个回调方法可能需要访问对象中创建前一个调用。或一个回调方法可能需要访问对象由另一个回调方法。在你创建持久的c++对象功能:

  1. 创建一个指针工作向量指针之间的持久对象方法调用:

    静态孔隙mdlInitializeSizes (SimStruct * S) {…ssSetNumPWork (S, 1);/ / / /储备元素指针向量存储一个c++对象……}
  2. 存储指针指向每个对象指针的你想要持续工作向量:

    静态孔隙mdlStart (SimStruct * S) {ssGetPWork (S) [0] = (void *)新柜台;/ /存储新的c++对象}/ /指针向量
  3. 检索任何后续的指针访问对象方法调用:

    静态孔隙mdlOutputs (SimStruct *年代,int_T tid){计数器* c =(计数器*)ssGetPWork (S) [0];/ /检索c++对象从real_T * y = ssGetOutputPortRealSignal (S, 0);/ /指针向量和y [0] = c - >输出();/ /使用}/ /对象的成员函数
  4. 仿真终止时消灭的对象:

    静态孔隙mdlTerminate (SimStruct * S){计数器* c =(计数器*)ssGetPWork (S) [0];/ /检索和摧毁c++删除C;/ /终止}/ /函数对象