📄 -+
字号:
any problems, send mails to lysindybear@sina.com.cn
(1)一些结构中的属性一般都要有初始化和清除的过程。
(2)进行数值运算的时候尽量先除后乘,避免溢出错误,例如a*b/c应该改为a*(b/c)
(3)注意不同进程之间数据操作的一致性,特别是在多线程,多cpu的情况下。
(4)在中断过程中不能有等待操作,更不能出现进程调度这样引起运行上下文改变的操作(切忌)。
(5)凡是再分配资源之前进行了等待操作(例如在信号量上等待),则进入临界区以后还要检测一下,防止重复分配
(6)对一些状态的定义避免使用0,1,2这样的数字,一定要定义成为宏,否则容易出现失误
(7)当处于cli和sti中间的代码,也就是处于中断关闭其间的代码,绝对不能进行阻塞操作
(8)资源的申请一般要一次性申请完毕,否则容易出现死锁。例如一个程序需要得到资源A和B,要一起分配。
参见raid1系统。
(9)各种计算型的宏定义都需要用扩号扩起来,以避免计算级别对最后计算结果的影响
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -