assert.h

✍ dations ◷ 2025-06-30 05:08:19 #

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

相关

  • 前体药物前体药物(英语:prodrug),也称前药、药物前体、前驱药物等,是指经过生物体内转化后才具有药理作用的化合物。前体药物本身没有生物活性或活性很低,经过体内代谢后变为有活性的物质,
  • 南冰洋环流南极绕极流(英语:Antarctic Circumpolar Current,ACC),或称为西风漂流、南极环流,为一个环绕南极洲由西向东的洋流。南极绕极流为南冰洋的主要循环系统特征。这令温暖的海水隔离南
  • 潘 菽潘菽(1897年7月13日-1988年3月26日),又名潘有年,字水菽,江苏宜兴人,中国心理学家,教育家。1897年(清朝光绪二十三年)7月13日,潘菽出生于江苏省宜兴县陆平村的书香门第,潘菽6岁时开始在父
  • Cestoda见内文绦虫纲(学名:Cestoda)是一个寄生性扁形动物门的一个纲。人们常说的绦虫其实是多个物种的泛称。所有绦虫纲的物种都是寄生虫,其生活史可能各有不同,但这些物种的成虫寄生于
  • 郁南郁南是广东省云浮市下辖的县,位于西江西岸。面积1966平方千米,人口 48万。邮政编码527100。县人民政府驻都城镇。1914年,原称西宁县,因它与青海省西宁同名,并且在郁水之南(西江古
  • 西乌克兰乌克兰反抗军(Ukrainian Insurgent Army,Українська Повстанська Армія;Ukrayins'ka Povstans'ka Armiya,简称UPA)是一个位在乌克兰的民族主义准军事
  • 垃圾焚化垃圾焚烧,或称垃圾焚化,是一种废物处理的方法,通过焚烧废物中有机物质,以缩减废物体积。焚烧与其他高温垃圾处理系统,皆被称为“热处理”。焚化垃圾时会将垃圾转化为灰烬、废气和
  • 丽水机场丽水机场(朝鲜语:여수공항/麗水空港 Yeosu Gonghang,IATA代码:RSU;ICAO代码:RKJY)是大韩民国丽水市其中一座对外航空机场。位处丽水市与顺天市中间,也因此亦有人唤作顺天机场,而其正
  • 胸带胸带(拉丁语学名:Cingulum membri superiores(人)或者Cingulum membri thoracici(动物))也称肩带,是脊椎动物前肢与躯干相连的骨骼的称呼。胸带主要由三块骨头组成,不过不是所有的脊
  • 凤山开漳圣王庙凤山开漳圣王庙,位于高雄市凤山区中山西路上,为一所奉祀福建漳州的乡土神开漳圣王陈元光的庙宇。清乾隆卅五年(1770年)乡民建造小屋,奉祀自漳州府迎奉的开漳圣王香火,历经多次重修