C语言中的ASSERT(断言)宏是嵌入式软件开发人员可以使用的最好的调试工具之一。虽然ASSERT功能强大,但我很少看到它被实施,并且在一些使用它的案例中,它的实施要么是有瑕疵的要么是不正确的。以下一些技巧将不仅能够帮助阐明在何时、何地使用ASSERT,而且还能阐明如何开始正确使用它。 技巧1:记住ASSERT的定义 对许多开发人员来说,断言是一个令人困惑的话题,因为它们的许多使用方式与其设计初衷背道而驰。我见到的最清晰的断言定义是这样的: “断言是在程序某个特定点的一个布尔表达式,除非程序中有缺陷(Bug),否则它的值将为真。” 想要理解上述断言定义的开发人员应该留意下面三个要点: ·断言会评估一个表达式是真还是假 ·断言是在代码中的某个点对系统状态的一种假设 ·断言会验证系统假设,如果不为真,就表明代码中有一个缺陷
|