Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188096
  • 博文数量: 52
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 877
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-30 11:29
文章分类

全部博文(52)

文章存档

2011年(1)

2008年(51)

我的朋友

分类:

2008-03-06 10:31:16

只有编译时加-g参数assert才起作用。
assert带的参数是个表达式。其值为零则程序中止,并打出中止在源码中的位置,以便调试;否则程序继续执行,没有任何作用。
如果编译时没带-g,则assert不被编译,就好像源码中根本没这行一样。

所以assert只被用来调试,语义是“断言”,也就是说此处必须为真(非零),否则即是程序设计有错。记住不要乱用,比如malloc内存,千万别用assert判断返回的指针是否为零。
阅读(555) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~