|
|
发表于 2005-12-5 23:11:22
|
显示全部楼层
如果每次检查都一样,有个建议:- #define enter_crit func(x,1)
- #define leave_crit func(x,-1)
- void func(x,int add)
- {
- static int reenter = -1;
- reenter += add;
- if(!reenter)
- // do some check with x
- }
复制代码
进入函数后,先调用enter_crit,函数返回前,调用leave_crit |
|