assert.h

✍ dations ◷ 2025-12-06 19:34: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)。

相关

  • 方式原子核物理学中的衰变方式主要有五种:
  • 通格通格(absolutive case、或称:绝对格)于作-通格语言中表示及物动词宾语与不及物动词主语的一种语法格。如巴斯克语名词mutil(意为“童”),加单数通格屈折-a,可表主词于不及物动词句m
  • 彼得·曼斯菲尔德彼得·曼斯菲尔德爵士,FRS(英语:Sir Peter Mansfield,1933年10月9日-2017年2月8日),英国物理学家,皇家学会院士,诺汀罕大学教授。由于在核磁共振成像的研究,他与美国科学家保罗·劳特
  • 全球竞争力报告这是一份由世界经济论坛所出版的年度报告。2018年全球竞争力前30之排名: (此次报告采用新的计算方式,因此分数有所变化,排名则是与已经重新计算的2017年报告作比较)2017-2018年全
  • 加强葡萄酒强化酒(英语:Fortified Wine),又称强化葡萄酒、强化酒、加度葡萄酒、加烈酒,一种加入蒸馏酒(通常是白兰地)的葡萄酒。强化酒与使用葡萄酒蒸馏的烈酒不同之处在于,烈酒都是通过蒸馏生
  • 薇朵儿·希维索薇朵儿·希维索(英语:Victoire Thivisol,1991年7月6日-)是一名法国电影女演员。她首次获得好评是在1996年电影《小孤星》饰演一名面对母亲去世的小女孩,成为最年轻赢得威尼斯电影
  • 国家军事博物馆国家军事博物馆是一座将坐落于台北市中山区的国家级博物馆,为地下3层,地上7层的钢骨造建筑物,楼高35.55米,地下楼做为停车场及库房,地上1楼为特展厅、2至7楼为展厅。总楼地板面积
  • 信州区信州区是中国江西省上饶市所辖的一个市辖区。总面积为308平方公里,2003年人口为36.12万。信州区下辖5个街道2个镇2个乡:共有72个居委会、46个村委会。信州区人民政府驻三江东
  • 摄像机摄像机(英语:video camera)是一种使用光学原理来记录影像的设备。摄像机的发明初时是用于电影及电视节目制作,但现时已普及化。正如照相机一样,早期摄像机需要使用底片或者录像带
  • 赫里奥波里斯坐标:30°07′46.3″N 31°17′20″E / 30.129528°N 31.28889°E / 30.129528; 31.28889赫利奥波利斯(古希腊语:Ἡλιούπολις)是古希腊人对古埃及城市昂的称呼,意为“海