首页
社区
课程
招聘
求助]寻一个好用的断言宏
发表于: 2009-7-14 10:35 4055

求助]寻一个好用的断言宏

2009-7-14 10:35
4055
assert有三个版本,一个是小写的assert(不显行号和文件名),一个是ASSERT(能是行号和文件名,但必须引用AFX),还有一个是_ASSERTE,但却是C运行时库版本,和C++运行时库一起编译容易报new被重定义等错误,请问除了自己写宏,还有没有更好的办法来实现,既不引用AFX,又能显示行号文件名的断言,并与C++运行时库编译无问题?
   附:我不想自己写宏,因为如果自己写,则在每个工程里都要把宏COPY过去,很麻烦,想用编译器提供的

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
用_ASSERTE
也用new
没LZ说的重定义错误
2009-7-14 12:54
0
雪    币: 466
活跃值: (175)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
3
程序报错后,你可以通过 查看 调用堆栈 来获知断言出错的位置。

如果你希望能打印行号和文件名,可以在 assert 的附近 使用c89 提供的标准宏 __LINE__ 和 __FILE__ 来输出相关信息
2009-7-14 19:09
0
游客
登录 | 注册 方可回帖
返回
//