assert.h

✍ dations ◷ 2025-09-08 02:15:24 #

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)。

相关

  • 西蒙·德·孟福尔西蒙·德蒙福尔(法语:Simon de Montfort)可以指以下法国裔贵族:
  • 塞尔维亚塞尔维亚国家图书馆( 错误:{{lang-xx}}:文本有斜体标记(帮助),NLS)是塞尔维亚的国家图书馆,位于贝尔格莱德。这是塞尔维亚规模最大的图书馆和历史最久的机构。图书馆成立于1832年2月
  • 齿间音清齿擦音全称是清齿无咝擦音(英语:voiceless dental non-sibilant fricative),是一种辅音,在某些语言的说话中出现。在国际音标中,这种音用⟨θ⟩表示,在X-SAMPA则用⟨T⟩表示。它
  • 杀精子剂杀精剂(英语:Spermicide)是可以破坏精子的生育控制物质,在性交前置入阴道内以避免怀孕。精剂本身是避孕器材,可以单独使用。不过只使用杀精剂避孕的失效率较其他避孕方法要高。一
  • 三分法三分法,有时也称作井字构图法,是一种在摄影、绘画、设计等艺术中经常使用的构图手段,这是最基本又最稳妥的构图手法,一般情况下都适用。在这种方法中,摄影师需要将场景用两条竖线
  • 鹤山区鹤山区是中华人民共和国河南省鹤壁市的一个市辖区。面积159平方公里,2002年人口13万。目前下辖:中山路街道、九矿广场街道、新华街街道、中山北路街道和鹤山街街道;鹤壁集镇和
  • 基因型频率在群体遗传学中基因型频率指在一个种群中某种基因型的所占的百分比。它可以这样表示: f ( A A )
  • 瓦洛瓦-惠特曼国家森林瓦洛瓦-惠特曼国家森林(英语:Wallowa–Whitman National Forest)是一座美国国家森林,坐落于俄勒冈州和爱达荷州。该森林于1954年建立,其前身为瓦洛瓦国家森林(Wallowa National Fo
  • 2015年7月逝世人物列表2015年7月逝世人物列表,是用于汇总2015年7月期间逝世人物的列表。
  • 会宁青年站会宁青年站(韩语:회령청년역)是朝鲜民主主义人民共和国咸镜北道会宁市的一个铁路车站,属于咸北线和会宁煤矿线。咸北线会宁煤矿线