[問題] 請問這個情況下 要如何 加codes
看板C_and_CPP (C/C++)作者softwind (software everywhere)時間16年前 (2009/06/10 23:14)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/2 (看更多)
情況大概是這樣~
我寫了一個 狀態機
然後 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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章