建立基本断言是相对琐碎的,但是即使essert.h是C标准的一部分,它也可能会因一个开发环境而异。如果您要检查不同工具链中的断言,您会注意到断言的实现可能会大不相同。这使我们进入了使用主张的第一步,该断言是检查您的essert.h模块。例如,让我们看看Arm的Keil MDK中的sustert.h模块的样子。花一点时间检查下面的图1中的代码。
运行时断言在开发和执行逐项合同原理中捕获错误的力量。但是,并非需要在运行时验证嵌入式系统中的所有假设。某些条件可以并且应该在编译时检查,以确保代码的正确性甚至在运行之前。这是静态断言发挥作用的地方。