assert.h

✍ dations ◷ 2025-11-25 11:00:49 #

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

相关

  • 高血糖高血糖(英语:Hyperglycemia)是指过量葡萄糖在血浆中堆积的医疗状况,一般指血糖水平高于11.1毫摩尔/升(200毫克/分升),但在血糖升到15-20毫摩尔/升(250-300毫克/分升)之前症状都不明显
  • 喹啉喹啉,也叫做苯并吡啶、氮杂萘,是一个杂环芳香性有机化合物。喹啉是一个具有强烈臭味的无色吸湿性液体,分子式是C9H7N。将喹啉暴露在光下,会慢慢变成淡黄色,进一步变成棕色。喹啉
  • 罗曼·波兰斯基最佳导演1974年 《唐人街》2002年 《钢琴家》最佳导演1980年 《苔丝》2003年 《钢琴家》2011年 《影子写手》 2014年 《穿裘皮的维纳斯》2020年 《我控诉》 最佳影片1980年
  • 沃斯特理工学院伍斯特理工学院(英语:Worcester Polytechnic Institute,缩写WPI),旧译:吴士脱大学,是一所位于美国马萨诸塞州伍斯特市的私立大学,于1865年建校,是一所小型的私立大学有14个院系,提供超
  • 软焊软钎焊、软焊(英语:soldering)是一种利用熔化熔点较低金属来连结其他金属工件的制造过程。被熔化的金属一般称为焊料,一般其熔点低于摄氏400度。软钎焊和硬钎焊的差异是在于焊料
  • 新思想运动妇女神学是一个建立在几个不同宗教,包括:佛教、基督教、犹太教及新思想运动等的运动,旨在使用女性主义角度去反思宗教的传统、实践、经文以及神学。有些妇女神学的目的是为了提
  • 盖塔拉洼地盖塔拉洼地(阿拉伯语:منخفض القطارة‎ Munḫafaḍ al-Qaṭṭārah)是一个位于埃及西北部马特鲁省的盆地。这个盆地属于埃及西部沙漠(英语:Western Desert (Egypt))的
  • 教务专约《1801年教务专约》(法语:Régime concordataire français)的签订者为法兰西第一共和国第一执政拿破仑与教宗庇护七世,签定时间为1801年7月15日。于巴黎和罗马两地分别签订的该
  • 假性延髓情绪假性延髓效应(英语:PseudoBulbar affect,缩写 PBA),或称情绪调节障碍(日语:情動調節障害),俗称强哭强笑,或啼笑皆非。是一种神经系统的病,多半源于脑部受伤。例如头部撞到,或中风等里外
  • 尼古拉斯·奥塔门迪 尼古拉斯·埃尔南·奥塔门迪(西班牙语:Nicolás Hernán Otamendi,1988年2月12日-),简称尼古拉斯·奥塔门迪(西班牙语:Nicolás Otamendi),出生于布宜诺斯艾利斯,是一名阿根廷足球