cassert与NDEBUG,_DEGUG
可以用<cassert>中声明的assert()库函数来检查本地C++程序中始终为true的逻辑条件
实际上assert()只在调试版本程序中才会起作用,发布版本不进行编译的;
头文件中,一般是使用预处理实现这个功能,也可以自定义调试的代码;如下所描述
在本地C++程序的中,
预处理符号NDEBUG是在发布版本中默认自动定义的.调试版本中没定义
预处理符号_DEGUG是在调试版本中默认自动定义的,发布版本中没定义
下面这个输出语句只在调试版本编译,不在
发布版本内编译,利用这个特点,可以自己写便于调试的输出信息
cout<<"Marker_1";
#endif
为了可读性,我们可以添加自己的调试表示,方法如下
#define My_defined
#endif
这样,就可用使用My_defined代替_DEBUG使用了,
这是C++中最基础的调试功能,可以基于这个开发比较高级的调试功能,
例如内存泄漏检测,以及防止指针悬挂
功能还不错吧!!!o(∩_∩)o...哈哈
转载于:https://www.cnblogs.com/valuel/archive/2009/11/15/1603362.html
cassert与NDEBUG,_DEGUG相关推荐
- Cpp / #error、static_assert、assert 区别
一.#error 执行期间是预编译阶段,目的是配合 #ifdef / #ifndef 参与预编译的条件检查,显示一段错误信息. 二.static_assert static_assert(bool f ...
- c++ primer note
---恢复内容开始--- 1.decltype 2.auto 3.cbegin 4.cend 5.constexpr 6.(*Parray)[10]=&arr; //Parray 指向一个含有 ...
- c++ 函数 -函数重载 -特殊用途的语言特性(默认实参,内联函数 ,constexpr ,assert,NDEBUG)
c++ 函数 -函数重载 -特殊用途的语言特性 文章目录 c++ 函数 -函数重载 -特殊用途的语言特性 函数重载 定义: 重载和const形参 const_cast 和重载 const_cast 重 ...
- C++之assert、NDEBUG探究
相关博文:C++之异常处理探究 相关博文:assert.if else.try catch三者的区别 assert 编写代码时,我们总是会做出一些假设,assert就是用于在代码中捕捉这些假设.a ...
- C++宏assert()
断言,是宏,而非函数.assert 宏的原型定义在 <assert.h>(C).<cassert>(C++)中,其作用是如果它的条件返回错误,则终止程序执行.可以通过定义 ND ...
- C++面试知识点总结
一.static关键字的作用 1.修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化 ...
- C++Primer学习——函数
编译器能以任意顺序对形参进行求值 函数的返回类型不能是数组类型和函数类型. 函数开始时为形参分配内存,一旦函数结束,形参也就被销毁了. 如果弄成静态局部变量,那么回到程序终止结束时才被销毁. void ...
- C++编程思想重点笔记(下)
上篇请看:C++编程思想重点笔记(上) 宏的好处与坏处 宏的好处:#与##的使用 三个有用的特征:字符串定义.字符串串联和标志粘贴. 字符串定义的完成是用#指示,它容许设一个标识符并把它转化为字符串, ...
- UVALive 4035 - Undetectable Tour(并查集)
题意:给定一个 N * N(3 <= N <= 10000)的矩形区域,左下角为(0,0),右上角为(N,N),现在要从左下角走到右上角,但是有 k(k <= 100)个监视器,每个 ...
最新文章
- [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)2
- GMM-HMM语音识别算法
- Managed Extensibility Framework (MEF)
- 数据库学习day_01:SQL的发展和数据库操作相关sql语句
- 四大微博OAuth认证
- jmeter mysql 连接复用_JMeter 连接MySQL
- POJ 2887 Big String
- c# 弹性和瞬态故障处理库Polly
- 程序开发天团必备单品,稳定输出还加持千元商务礼限时送!
- sql重新注册服务器,sql server无法新建注册服务器怎么办?
- python爬虫网络出错怎么办_Python爬虫常见问题
- python判断能否组成三角形_python三角形判定怎么做
- Tensor:归并操作
- 如何判断一个大佬值不值得跟随
- HDU 2152 Fruit (母函数)
- 最近,前端开发把我恶心着了,为了甩锅,我写了个牛逼的日志切面!
- 阿里 Lindorm 数据库联手 Hightopo ,开启工业物联超融合存储模式
- linux环境下,集群中Hadoop版本更换
- 使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...
- 图片放大后不清楚怎么办?
热门文章
- mysql表误删回复_mysql 找回误删表的数据方法(必看)
- java oracle 建表语句_在oracle数据库中创建表语句如何写?
- php 图片地址用变量,php使用ob_start()实现图片存入变量的方法
- matlab的syms无法在函数中使用_EXCEL中查找匹配函数VLOOKUP使用技巧
- c 在realse下为什么生成不了exe_exe文件?你也可以编写!
- Android React Native 笔记(二):Component生命周期
- Android固定宽度文字自适应大小
- 开发日记-20190802 关键词 闲聊
- ElasticSearch-hadoop saveToEs源码分析
- Google Progressive Web App简称PWA