2012年7月26日 星期四

Redirect Background Program Ouput

要將一個背景程式的輸出Redirect到一個檔案去,如果是用以下的方法是沒用的。
# ./program & > log.txt

正確的方式應該是先Redirect後再丟到背景執行,如下:
# ./program > log.txt 2>&1 &

2012年7月25日 星期三

MFC自訂Message

最近發生在按件事件觸發後,執行到某個Thread,然後此Thread會做更新UI的動作,結果悲劇就產生了,DeadLock....

解決方式可以用自訂Message的方式來解決,如果Thread要更新UI,可以用PostMessage來取代。自訂Message的方式如下:

1. 先在Header檔訂義自訂的Message

#define WM_MY_MSG (WM_USER+ N)
[註] N為一個整數,來區別不同自訂的訊息

2. 加入處理此訊息的Function宣告
afx_msg LRESULT OnMyMSG(WPARAM wPararm, LPARAM lParam);

3. 在CPP檔加入消息映射
BEGIN_MESSAGE_MAP(CFactoryAPDlg, CDialog)
    ON_MESSAGE(WM_MY_MSG, OnMyMSG)
END_MESSAGE_MAP()

4. 實作OnMyMSG()


實作完後,就可以在Thread處理時,用PostMessage(WM_MY_MSG)來解決DeadLock的問題。

2012年7月19日 星期四

PHY

每次提到Ethernet時,常聽HW/Driver RD常講PHY這個專有名詞,真的把我搞混了。查了一下,原來PHY是OSI Phyiscal Layer的簡稱。

Ethernet PHY指的就是一個Chip實作傳送和接收Ethernet Frame,詳細可參考Wiki

2012年7月13日 星期五

慢跑

每當心情煩躁的時候,去運動場跑跑步,總能讓自己心情放鬆一點。
不知不覺中,也漸漸愛上慢跑了,該不會是心情常常BLUE吧...

雖然動機怪怪的,但至少運動對健康是有益的。
希望可以持之以恆。