assert.h

✍ dations ◷ 2025-10-30 22:58:10 #

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

相关

  • 流体静力学流体静力学(Hydrostatics)是连续介质力学的分支学科流体力学的子学科。流体静力学研究流体(诸如气体和液体)静止时的现象以及相关力学行为的科学。这样的现象和行为可以用数学表
  • 4f13 6s22, 8, 18, 31, 8, 2蒸气压第一:596.7 kJ·mol−1 第二:1160 kJ·mol−1 第三:2285 kJ·mol主条目:铥的同位素铥是一种化学元素,符号Tm,原子序数69,是一种金属。铥是第二稀
  • 法匹拉韦法匹拉韦(英语:Favipiravir,开发代号:T-705,也称为Avigan或favilavir)是一种抗病毒药物,由日本富山大学医学部白木公康教授与富士胶片旗下富山化学工业(今 富士胶片富山化学)共同研发
  • 子宫颈阴道部子宫颈(cervix、cervix uteri)是子宫底部狭窄的开口。连接阴道。形状是圆柱形或圆锥形。突出于阴道壁的前上方。子宫颈大约有一半长度可透过适当医学仪器看见。子宫颈伸入阴道
  • 因陀罗因陀罗(梵语:इन्द्र,Indra),又名帝释天(Śakra),印度教神明,吠陀经籍所载众神之首。本是古印度人共同尊奉的神明,在《梨俱吠陀》中是出现最多的神之一,出现次数仅次于阿耆尼,曾一
  • 里海海豹里海海豹(学名:Pusa caspica)为海豹科环斑海豹属的一种,是最细小的海豹之一。它们只分布在里海的海岸及岩石岛屿和冰山。于冬天,它们会迁徙到里海北部。由于在温暖季节时冰山会融
  • 安德鲁·劳埃德·韦伯安德鲁·劳埃德·韦伯,劳埃德-韦伯男爵(英语:Andrew Lloyd Webber, Baron Lloyd-Webber,1948年3月22日-),生于英国伦敦,英国音乐剧作曲家。他的弟弟是大提琴家朱利安·劳埃德·韦伯
  • 超级小黑咪《超级酷乐猫》(日语:サイボーグクロちゃん)是由横内尚树所作的日本漫画,后被改编为电视动画和游戏软件。电视动画由1999年10月至2001年1月于东京电视网播放。本作讲述的是关于
  • 黑部黑部,为汉字索引中的部首之一,康熙字典214个部首中的第二百〇三个(十二划的则为第三个)。就繁体和简体中文中,黑部归于十二划部首。黑部只以左方、下方为部字。且无其他部首可用
  • Believe (玉置成实单曲)“Believe”是玉置成实在2003年4月23日发售的出道单曲。唱片公司是Sony Music Records。还有,同年5月21日再生产・单曲“Believe Reproduction 〜高达 SEED EDITION〜”发售