构造函数和析构函数是为程序包规范文件中的事件定义的。例如:
/* Constructors and destructors: */
ev1 * RiC_Create_ev1();
void ev1_Init(ev1* const me);
void ev1_Cleanup(ev1* const me);
void RiC_Destroy_ev1(ev1* const me);
事件创建和破坏操作的名称的模式与事件初始化和清除操作的名称的模式稍有不同:
事件构造函数和析构函数的实施在程序包的实施文件中生成。例如:
ev1 * RiC_Create_ev1() {
ev1* me = (ev1*) malloc(sizeof(ev1));
ev1_Init(me);
return me;
}
对于动态分配的事件,创建方法函数为事件分配内存并通过事件初始化方法将其初始化:
void ev1_Init(ev1* const me) {
RiCEvent_init(&me->ric_event, ev1_Default_id, NULL);
me->ric_event.lId = ev1_Default_id;
}
void ev1_Cleanup(ev1* const me) {
RiCEvent_cleanup(&me->ric_event);
}
void RiCDestroy_ev1(ev1* const me) {
ev1_Cleanup(me);
free(me);
}
请参阅发送事件以了解有关生成和发送事件的信息。