?? -+
字號:
any problems, send mails to lysindybear@sina.com.cn
(1)一些結(jié)構(gòu)中的屬性一般都要有初始化和清除的過程。
(2)進(jìn)行數(shù)值運(yùn)算的時候盡量先除后乘,避免溢出錯誤,例如a*b/c應(yīng)該改為a*(b/c)
(3)注意不同進(jìn)程之間數(shù)據(jù)操作的一致性,特別是在多線程,多cpu的情況下。
(4)在中斷過程中不能有等待操作,更不能出現(xiàn)進(jìn)程調(diào)度這樣引起運(yùn)行上下文改變的操作(切忌)。
(5)凡是再分配資源之前進(jìn)行了等待操作(例如在信號量上等待),則進(jìn)入臨界區(qū)以后還要檢測一下,防止重復(fù)分配
(6)對一些狀態(tài)的定義避免使用0,1,2這樣的數(shù)字,一定要定義成為宏,否則容易出現(xiàn)失誤
(7)當(dāng)處于cli和sti中間的代碼,也就是處于中斷關(guān)閉其間的代碼,絕對不能進(jìn)行阻塞操作
(8)資源的申請一般要一次性申請完畢,否則容易出現(xiàn)死鎖。例如一個程序需要得到資源A和B,要一起分配。
參見raid1系統(tǒng)。
(9)各種計算型的宏定義都需要用擴(kuò)號擴(kuò)起來,以避免計算級別對最后計算結(jié)果的影響
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -