C++ Primer 学习笔记:assert调试 && __FUNC__等宏定义
2017-12-31 15:02
363 查看
assert()函数
NDEBUG宏是Standard C中定义的宏,专门用来控制assert()的行为。如果定义了这个宏,则assert不会起作用。#ifdef NDEBUG #define assert(x) ((void)0) #else ...
C Standard中规定了assert以宏来实现。
#ifdef NDEBUG #undef NDEBUG #include <assert.h> #define NDEBUG #else #include <assert.h> #endif // #ifdef NDEBUG
将以上代码放在c/cpp最上方(当然,其后不能出现其它#include
部分宏定义
C++定义了下面几个宏,可以在调试的过程中直接使用,__FILE__ 表示当前文件的名字 __LINE__ 表示当前程序的行号 __DATE__ 表示当前文件的日期 __TIME__ 表示当前文件编译的时间 __FUNC__ 表示当前调试的函数的名字
上面的几个宏定义可以再调试过程中使用,很方便,它们都是使用字符串表示的
void test() { cout << __func__ << endl; }
上面的程序输出的就是字符串”test”
相关文章推荐
- C语言学习笔记(六)诊断<assert.h>
- C++ Primer 学习笔记:泛型算法入门 插入迭代器 && iostream迭代器 && 反向迭代器
- 学习笔记之Func<T>与Action<T>委托泛型介绍
- C++ Primer 学习笔记与思考_4 ---getline&&size_type&&const_iterator混搭
- C++ Primer 学习笔记:数字 && 字符串转换
- Sharepoint学习笔记-- Debug&TroubleShooting--调试Sharepoint环境中的Javascript/ECMAScript
- 加壳学习笔记(三)-简单的脱壳思路&调试思路
- C++ Primer 学习笔记:泛型算法入门 fill && back_inserter && copy && replace
- C++ Primer 学习笔记:关联容器入门 set && map
- c++ primer学习笔记3-标准库类型string&vector
- Sharepoint学习笔记---Debug&TroubleShooting--一种调试Sharepoint2010 Solution的快捷方式
- win32汇编 屏幕截图保存BMP 学习笔记<第三篇>之odbg调试
- 安卓Studio学习笔记---gradle自定义BuildConfig.DEBUG实现在调试输出Log,正式的时候不输出Log
- 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】
- 《Orange's 一个操作系统的实现》学习笔记--一个简单的引导扇区
- 海龟绘图-学习笔记6-调试
- java学习笔记------ PrintStream_都市游侠_新浪博客 http://blog.sina.com.cn/s/blog_6c1fe98c01012lcu.html
- 【C++ Primer 学习笔记】chapter8 标准IO库
- VMware VSphere 虚拟化&云计算学习配置笔记(四)