assert.h

✍ dations ◷ 2025-12-01 21:24:31 #

assert.h是C标准函数库中的头文件。其中定义了assert()宏用于程序调试。

在C标准函数库中,它是个非常特别的头文件,你可以将它引入数次以获得不同的效果,此效果依引入时是否以定义NDEBUG而定。

assert()是一个诊断宏,用于动态辨识程序的逻辑错误条件。其原型是:void assert(int expression);

如果宏的参数求值结果为非零值,则不做任何操作(no action);如果是零值,用宽字符打印诊断消息,然后调用abort()。诊断消息包括:

诊断信息的显示目标依赖于被调用程序的类型。如果是控制台程序,诊断信息显示在stderr设备;如果是基于窗口的程序,assert()产生一个Windows MessageBox来显示诊断信息。

程序可以屏蔽掉所有的assert()而无需修改源代码。这只需要在命令行调用C语言的编译器时添加宏定义的命令行选项,定义NDEBUG宏;也可以在源程序程序引入<assert.h>之前就使用#define NDEBUG来定义宏。被屏蔽的assert()甚至不对传递给它的参数表达式求值,因此使用assert()时其参数表达式不能有副作用(side-effects)。

相关

  • HSOsub3/subCl氯磺酸(化学式:HSO3Cl)是一种无色或淡黄色的液体,为剧毒。具有辛辣气味,在空气中发烟,是硫酸的一个-OH 基团被氯取代后形成的化合物。分子为四面体构型,取代的基团处于硫酸与硫酰氯
  • 麦可·弗里德曼迈克尔·弗里德曼(英语:Michael Freedman,1951年4月21日-),美国数学家,主攻庞加莱猜想。他是1986年的菲尔兹奖得主,目前任职于加利福尼亚大学圣塔芭芭拉分校微软研究院和数学系。他
  • 莫卧儿王朝莫卧儿帝国,又称莫卧儿王朝、蒙兀儿王朝(波斯语:شاهان گورکانی‬‎ Shāhān-e Gūrkānī;乌尔都语:مغلیہ سلطنت‬‎‎;英语:Mughal Empire,1526年-1858年),是
  • 四氟化碳四氟化碳,又称为四氟甲烷、Freon-14及R 14,是一种卤代烃(化学式:CF4)。它既可以被视为一种卤代烃、卤代甲烷、全氟化碳,也可以被视为一种无机化合物。零下198 °C时,四氟化碳具有
  • 水银灯水银灯亦称汞灯,是一种内部含有汞蒸气的灯,以气体放电的方式产生亮光。灯管用耐热玻璃制成,两端装有电极;制造时抽去空气,充入水银和少量氩气;通电后水银蒸发,受电子激发而发光。目
  • 大连旅大行署区,中华人民共和国旧省级行政区名。在今辽宁省大连市南部。1945年八月风暴行动结束后,苏军占领中国东北地区。根据中华民国政府与苏联政府在当年8月签订的《中苏友好
  • 雪山山脉雪山山脉是台湾五大山脉之一,位于中央山脉的西北方,东以兰阳溪断层谷与大甲溪上游纵谷(合称匹亚南构造线)与中央山脉分界。雪山山脉为台湾最北方的山脉,呈现东北至西南走向,北起新
  • 大二十面体在几何学中,大二十面体是一种星形二十面体,由20个正三角形组成,其在非凸均匀多面体被编号为U53、在温尼尔多面体模型被编号为W41,是四种星形正多面体之一,对偶多面体为大星形十二
  • 2007年太平洋飓风季2007年太平洋飓风季是每年一度全球热带气旋产生周期的一部分。东太平洋飓风季从2007年5月15日开始,至2007年11月30日结束;而中太平洋飓风季从2007年6月1日开始,至2007年11月30
  • 段展段展(越南语:Đoàn Triển/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H","Ming-