我来教你linux系统下如何使用assert函数
|
只要看得懂程序的人都知道assert,在Windows下使用VC编写,使用assert之后,只需在IDE中设置为debug版或者是release版,编译器就会自动忽略掉assert。但是在Linux下,必须要在编译命令中加入-DNDEBUG中,系统编译时才不会将assert编译进去。不然,程序运行时有可能会被assert中断。那linux系统下如何使用assert函数呢?下面就和大家说一下linux系统下使用assert函数的方法。
步骤如下: assert宏的原型定义在《assert.h》中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include 《assert.h》 void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 然后通过调用 abort 来终止程序运行。 请看下面的程序清单badptr.c: #include 《stdio.h》 #include 《assert.h》 #include 《stdlib.h》 int main( void ) { FILE *fp; fp = fopen( “test.txt”, “w” );//以可写的方式打开一个文件,如果不存在就创建一个同名文件 assert( fp ); //所以这里不会出错 fclose( fp ); fp = fopen( “noexitfile.txt”, “r” );//以只读的方式打开一个文件,如果不存在就打开文件失败 assert( fp ); //所以这里出错 fclose( fp ); //程序永远都执行不到这里来 return 0; } [root@localhost error_process]# gcc badptr.c [root@localhost error_process]# 。/a.out a.out: badptr.c:14: main: Assertion `fp‘ failed. 已放弃 使用assert的缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销。 |
相关文章
热销商品
淘热烫杠子24v加长14厘米数码烫发机器杠子美发法式超长喇叭卷发杠
热烫杠子24v加长14厘米数码烫发机器杠子美发法式超长喇叭卷发杠
¥2.1 领券购买
天OBOX全铝镁合金化妆箱专业跟妆师24寸带灯带镜子密码锁拉杆行李箱
OBOX全铝镁合金化妆箱专业跟妆师24寸带灯带镜子密码锁拉杆行李箱
¥749 领券购买
天【75ml】安娜苏筑梦美人鱼独角兽女士淡香水清新花果调送女友礼物
【75ml】安娜苏筑梦美人鱼独角兽女士淡香水清新花果调送女友礼物
¥188 领券购买
淘电热毯单人双人双控智能定时安全调温辐射无三人家用1.8米电褥子
电热毯单人双人双控智能定时安全调温辐射无三人家用1.8米电褥子
¥16.1 领券购买
天被子冬被加厚绒保暖2026新款褥被芯四六七件套全套一整套宿舍棉被
被子冬被加厚绒保暖2026新款褥被芯四六七件套全套一整套宿舍棉被
¥118 领券购买
天威士忌洋酒组合套装可乐桶便利店调酒基酒XO白兰地烈酒正品伏特加
威士忌洋酒组合套装可乐桶便利店调酒基酒XO白兰地烈酒正品伏特加
¥49.5 领券购买
淘花知晓礼盒套装雪花芭蕾眼影盘彩妆提亮液化妆品腮红手持镜眼线笔
花知晓礼盒套装雪花芭蕾眼影盘彩妆提亮液化妆品腮红手持镜眼线笔
¥178 领券购买
淘成人纸尿裤老人用尿不湿老年专用女男士加大号非拉拉裤尿布湿尿裤
成人纸尿裤老人用尿不湿老年专用女男士加大号非拉拉裤尿布湿尿裤
¥123.87 领券购买
天利达妮爬爬垫拖鞋女款2026新款室内居家抗菌防臭静音舒适包跟拖鞋
利达妮爬爬垫拖鞋女款2026新款室内居家抗菌防臭静音舒适包跟拖鞋
¥23.66 领券购买
淘万紫千红润肤脂护手霜面霜雪花膏栀子花保湿滋润面霜护手霜老牌
万紫千红润肤脂护手霜面霜雪花膏栀子花保湿滋润面霜护手霜老牌
¥4.9 领券购买
淘Deepsea深海 冬季可爱毛绒绒耳罩防寒保暖防冻耳捂子耳罩骑行耳暖
Deepsea深海 冬季可爱毛绒绒耳罩防寒保暖防冻耳捂子耳罩骑行耳暖
¥22 领券购买
天胖大海罗汉果枇杷叶雪梨茶止清润喉养肺痰咽官方正品旗舰店化炎咳
胖大海罗汉果枇杷叶雪梨茶止清润喉养肺痰咽官方正品旗舰店化炎咳
¥32.21 领券购买
天玫台胖大海罗汉果雪梨茶官方旗舰店正品臻选优质原料泡水茶3bc
玫台胖大海罗汉果雪梨茶官方旗舰店正品臻选优质原料泡水茶3bc
¥13.5 领券购买
天沁漓罗汉果桂花茶60g礼盒广西桂林特产干果仁罗汉果茶果芯小包装
沁漓罗汉果桂花茶60g礼盒广西桂林特产干果仁罗汉果茶果芯小包装
¥37.05 领券购买
天IEF/爱依服【小个子】2026冬季新款修身显瘦加绒女百搭牛仔喇叭裤
IEF/爱依服【小个子】2026冬季新款修身显瘦加绒女百搭牛仔喇叭裤
¥149 领券购买
淘秋冬季ins加绒圆领卫衣宽松港风套头外套男简约百搭长袖保暖上衣
秋冬季ins加绒圆领卫衣宽松港风套头外套男简约百搭长袖保暖上衣
¥17.7 领券购买

