assert.h

✍ dations ◷ 2025-04-27 01:44:26 #

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

相关

  • 一元谓词演算在逻辑中,一元谓词演算是所有谓词字母都是一元(就是只接受一个参数)并且没有函数字母的谓词演算。所有原子公式都有形式 P ( x
  • H02ATC代码H(激素制剂,不包括性激素及胰岛素)是解剖学治疗学及化学分类系统的一个分类,这是由世界卫生组织药物统计方法整合中心(The WHO Collaborating Centre for Drug Statistics
  • 衣物服装(亦称为衣物、衣服、衣着)最广义的定义,除了指躯干与四肢的遮蔽物之外,还包括了手部(手套)、脚部(袜子、鞋子、凉鞋、靴子)与头部(帽子)的遮蔽物,以及延伸出来的服装配饰。几乎所有
  • Abercrombie Fitch爱芙趣(英语:Abercrombie & Fitch,缩写:A&F)是一间美国的零售商,公司前任的主席与执行长为麦克·杰佛瑞斯(Mike Jeffries)。A&F贩售针对18岁至22岁的顾客所设计的休闲服装和配件。
  • ɵ半闭央圆唇元音(close-mid central rounded vowel、high-mid central rounded vowel)是元音的一种,用于一些语言当中,国际音标以⟨ɵ⟩代表此音,而X-SAMPA音标则以⟨8⟩代表此音
  • 深静脉栓塞深静脉血栓是在深静脉形成的血栓,常形成于下肢或骨盆部位深处的静脉。有时也形成于上肢的静脉(这被称为Paget-Schrötter综合症(英语:Paget–Schroetter disease))。近期接受外科
  • 台湾口罩外交台湾口罩外交,是指台湾在2019冠状病毒病疫情爆发时所实行的口罩出口管制政策及相关决策。2019冠状病毒病疫情在中国大陆爆发后,全球各地区先后出现抢购口罩的浪潮,随后中国大陆
  • 费瑞·慕拉德斐里德·穆拉德(英语:Ferid Murad,1936年9月14日-),阿尔巴尼亚裔美国人(英语:Albanian American)医生和药理学家。获得1998年诺贝尔生理学或医学奖,科索沃科学和艺术学院(英语:Academy o
  • 昌德宫昌德宫(韩语:창덕궁)位于韩国首尔市钟路区,由朝鲜王朝(1392年–1897年)一众国王所建,是“朝鲜五大宫殿”之一。1997年被联合国教科文组织登入为世界文化遗产。 位处景福宫东面,作为
  • NHK静冈放送局NHK静冈放送局,是日本放送协会位于静冈县静冈市的地方放送局,也是负责主管当地事务的放送局。