作者softwind (software everywhere)
看板C_and_CPP
标题[问题] 请问这个情况下 要如何 加codes
时间Wed Jun 10 23:14:14 2009
情况大概是这样~
我写了一个 状态机
然後 application 会 下指令给我
我完成後 会 传出结果
在 实作的时候 是 async call 所以 application send command
给我的状态机
我的状态机 copy command 後 就 回返了
然後 等我处里完 就会 把结果 传回 给 application的 callback func
application 和状态机 的介面 大概像是这样
typedef struct{
E_CMD cmd;
char *para;
}T_COMMAND;
其中 的 E_CMD 可以想成
typedef enum{
E_CMD_DIR,
E_CMD_MKDIR,
E_CMD_RMDIR,
E_CMD_DEL, // ...
}E_CMD;
现在 有个 问题 我想要 加一个 profile 用途的小code
用来 侧录看看 application 的command 发送情形
so 我 应该如何做 会比较 方便???
因为 command 会记在 stack中 so至少需要改写 T_COMMAND
typedef struct{
E_CMD cmd;
char *para;
time_t issue_time;
}T_COMMAND;
然後 有一个问题 我该如何 将 time记录下来 但是不会对codes 有太多改动?
或者是说 可以 快速 把log command时间的codes "拔插" 於codes的主体?
方案一: 我在收 command的地方 自己多加 get time再 存到stack中
这样 application 不用设定 issue_time.
方案二: 收的command由application 就先把command issue的时间 设定好
进我的 状态机 只需要 memcpy 把command 整个copy 下来 即可
有没有类似经验的版友 可以 提示一下
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.122.47