assert.h

✍ dations ◷ 2025-12-02 15:47:16 #

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

相关

  • LCCN美国国会图书馆控制号(英语:Library of Congress Control Number,简称LCCN)是美国国会图书馆用于图书记录、编码和查询的序列号。每一本书籍都有相对应的控制号。该号码与书籍内
  • 蒙特利尔议定书《蒙特利尔议定书》,全名为《蒙特利尔破坏臭氧层物质管制议定书》(英语:Montreal Protocol on Substances that Deplete the Ozone Layer),是联合国为了避免工业产品中的氟氯碳化
  • 量子光学量子光学(英语:Quantum optics)是物理学在1990年后成熟的新兴分支,是原子分子与光物理的一部分,也和冷原子物理紧密相连。与凝态物理、粒子物理学、宇宙学等其他成熟分支相比,在精
  • 选举委员会选举委员会是负责选举事务的政府机构。在独立模式下,选举委员会独立于行政部门,并管理自己的预算。具有独立选举委员会的国家包括澳大利亚、加拿大、印度、约旦、尼日利亚、巴
  • 重子重子(Baryon)是一个现代粒子物理学名词,在标准模型理论中,“重子”这一名词是指由三个夸克(或者三个反夸克组成的“反重子”)组成的复合粒子。:1232在这理论中它是强子的一类。值
  • 冰碛冰碛(“碛”的注音为 qì/“ㄑㄧˋ”),又称冰碛作用,大致上可分为下列两种情形:形成丘陵或平原。冰积丘陵指任何一种冰川消融之后,在表碛内碛中的碛几乎都沉流到冰川的谷底,和底碛
  • 鬼夜猴鬼夜猴(学名:Aotus lemurinus)是一种属于灵长目青猴科夜猴属的新世界猴。鬼夜猴的头型圆小,并拥有两颗又大又黑的双瞳,是夜行性的灵长目动物。和猫头鹰不同的是,它的双眼会发出由
  • 歐盟執委會br /歐盟執行委員會欧洲联盟委员会(英语:European Commission;法语:Commission européenne;德语:Europäische Kommission;意大利语:Commissione Europea),简称欧盟委员会或欧盟委员会,是欧洲联盟下辖的
  • 尼科罗·帕格尼尼尼科罗·帕格尼尼(意大利语:Niccolò Paganini,1782年10月27日-1840年5月27日),小提琴家、作曲家,属于欧洲晚期古典乐派,早期浪漫乐派音乐家。他是历史上著名的小提琴大师之一,对小提
  • LINE (公司)LINE Corporation是Naver集团设立于日本东京的资讯服务公司,主要业务为开发LINE即时通讯软件平台,并围绕LINE平台开发众多服务,旗下拥有 LINE FRIENDS 商店贩售周边商品。在台