`

(Visual studio)C++ 中assert带自定义的消息

    博客分类:
  • C++
 
阅读更多
直接贴文件如下:
#ifdef  NDEBUG
#define assert(_Expression)     ((void)0)
#define assertMsg(_Expression, _Msg) ((void)0)
#else
	#include <crtdefs.h>
	#include "assert.h"
	#define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
	#define assertMsg(_Expression, _Msg) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(_Msg), _CRT_WIDE(__FILE__), __LINE__), 0) )
#endif

参考自:http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/828b708c-e186-4774-b0fc-f45ddf49163b

另有一种不太好看的:
assert(a == b && "A is not equal to B");

参考自:http://stackoverflow.com/questions/3692954/add-custom-messages-in-assert
分享到:
评论

相关推荐

    Visual assert

    Visual Assert is a Visual Studio® AddIn that allows you to easily write, manage, run, and debug your C/C++ unit tests – without ever leaving the Visual Studio® IDE. No fiddling with command line ...

    Visual C++2010开发权威指南(共三部分).part1.rar

    6.13 Visual C++ 2010 Visual Studio 2008风格文档视图开发框架 342 6.14 Visual C++ 2010 Windows资源管理器风格文档视图开发框架 346 6.15 小结 350 第7章 Visual C++ 2010 MFC应用程序界面与美化 351 7.1 应用...

    Visual C++2010开发权威指南.part01

    第一部分 Visual C++ 2010开发与新特性 第1章 Visual C++ 2010开发环境简介 1 1.1 Visual C++ 2010简介 1 1.2 Visual C++ 2010下载安装指南 1 1.3 Visual C++ 2010主要特点与 1.3 新特性 3 1.4 Visual C++ 2010开发...

    全新_Microsoft_Visual_Studio2013指南.doc

    四、Visual C++编译器和链接器 36 (一)auto主要字 36 (二)decltype操作符 36 (三)Lambda表达式 36 (四)Rvalue援用 37 (五)static_assert声明 37 (六)nullptr和__nullptr主要字 37 (七)/Zc:trigraphs编译器选项 37 ...

    VC10中的C++0x特性

    这一系列文章来自Visual C++ Team Blog,介绍Microsoft Visual Studio 2010 中支持的C++0x特性,目前有三部分。 Part 1:介绍了Lambdas,auto,以及 static_assert; Part 2:介绍了右值引用(Rvalue References)...

    VC++2010权威开发指南+源代码

     Visual C++ 2010 Visual Studio  6.13 2008风格文档视图开发框架 342  6.14 Visual C++ 2010 Windows资源管理器风格文档视图开发框架 346  6.15 小结 350  ……  第7章 VisualC++2010MFC应用程序界面与美化 ...

    VC++2010权威开发指南+源代码.part2

     Visual C++ 2010 Visual Studio  6.13 2008风格文档视图开发框架 342  6.14 Visual C++ 2010 Windows资源管理器风格文档视图开发框架 346  6.15 小结 350  ……  第7章 VisualC++2010MFC应用程序界面与美化 ...

    最全VS2010初级教程学习手册

    写在前面 第一章 关于Visual Studio、VC和C++的那些事 1 第二章 安装、配置和首次使用VS2010 2 安装 2 配置 10 HelloWorld. 18 VS2010正式到手,说说几点试用体会 29 VS2010 中使用main函数作为C++的入口函数本篇...

    VC10中的C++0x特性.pdf

    这一系列文章介绍Microsoft Visual Studio 2010 中支持的C++ 0x特性。 Part 1 :介绍了Lambdas, 赋予新意义的auto,以及 static_assert; Part 2( 1 , 2 ):介绍了右值引用(Rvalue References); Part 3:介绍了...

    dirent:CC ++库,用于检索有关文件和目录的信息

    迪伦特 Dirent是C / C ++编程接口,允许... 例如,在Visual Studio 2008中,可以在C:\Program Files\Microsoft Visual Studio 9.0\VC\include 。 您需要的所有内容都包含在单个dirent.h文件中,您可以立即开始使用Dir

    exBind:功能签名延长器

    exBind 功能签名延长器 简短的故事:通过返回可调用的代理对象,可以将参数“添加”到函数中。 查看以获取用例。 诊断您可以在包含“ ex_bind.hpp”之前定义以下宏之一... 我使用Visual Studio时更喜欢enable_if宏。

    LuaBind 源码 (Lua增强库)

    如果你希望改变缺省的设置,推荐你通过修改命令行参数的方式来实现.(在Visual Studio 的工程设置项里面). 5 基本使用 为了使用LuaBind, 你必须包含 lua.h 和 LuaBind 的主要头文件: extern "C" { #include "lua.h" ...

Global site tag (gtag.js) - Google Analytics