c语言表驱动使用实例
简单的表驱动:
《什么是数据驱动编程》中有一个代码示例。它其实也可以看做是一种表驱动手法,只不过这个表相对比较简单,它在收到消息后,根据消息类型确定使用调用什么函数进行处理。
直接上实例
typedef struct _cmd_repaly_st
{
const char *cmd_id; /* 命令id */
REPLAY_MSG_FUN fun_ptr; /* 函数指针 */
}cmd_replay_st;
cmd_replay_st replay_flow[] =
{
{"0120", ReTripRecordList},
{"0121", Re360RecordList},
{"011D", Ret360ScreenshotList},
{"0201", FatigueDriving},
{"0202", PersonnelLegacy},
};
根据id查表
void Replay_proc(char *cmd_id, char *msg_buf)
{