本文共 489 字,大约阅读时间需要 1 分钟。
引子:
手上的虽然是一个小项目,但由于关联性很多,而且是系统服务,如果代码出了问题可能会影响整个系统,所以压力还是挺大,也专门找了老外来帮着Review代码。
虽然做了很长时间的C#,但代码是完全的 C + Windows API,对自己来说,还完全是个新手,也顺便弥补了自己在这方面的空白。
记录一下吧,以备后看:
- 每一个系统函数的调用都应该检查返回值,因为理论上都有失败的可能,包括CreateEvent是否失败,CloseHandle的对象是否为空,并做相应的处理。
- InitialzieCriticalSection必须要和DeleteCriteicalSection配对使用,并且要确保执行顺序和时机。最好放在程序的开头。
- 注册表键值建议用const声明。
- 常量值建议用const声明。
- 大小写BOOL和bool要区别开。
- 大小写TURE和ture也要区别开。
- 内核事件内不要写业务逻辑,只发送消息或改变信号。
- 如果是手动的事件,在WaitForSingleObject以后要记得手动重置。
- 如果Event的等待时间是INFINITE要记得如果不触发事件,会永远等待。
转载地址:http://ymlgb.baihongyu.com/