如何有效禁止qDebug的输出?

简介: 如何有效禁止qDebug的输出?

一、Release如何禁用


在.pro文件加入以下语句:


#Release禁止输出qWarning/qDebug信息

CONFIG (release, debug|release) {

DEFINES += QT_NO_WARNING_OUTPUT

DEFINES += QT_NO_DEBUG_OUTPUT

}

但是还不够,需要把工程清理,重新构建才能生效!!



二、qDebug如何使用


qDebug用于在控制台输出调试信息,主要有以下几种用法。


1、类似c++的cout函数


QString str="world";


qDebug()<<"hello "<<str<<"!"<<endl;


注:此处endl起到的作用有两个:


a、等同于\n换行


b、刷新缓冲区,将缓冲区数据写入文件或屏幕,因此会影响程序效率。


endl等价于"/n"+flush();



2、构造函数直接引入参数


字符串拼接

QString str="world!";


qDebug("hello "+str);


类似mfc中CString的format函数

int year=18;


qDebug("今年我%d",year);


注:

%a,%A 读入一个浮点值(仅C99有效)    

%c 读入一个字符    

%d 读入十进制整数    

%i 读入十进制,八进制,十六进制整数    

%o 读入八进制整数    

%x,%X 读入十六进制整数   

%s 读入一个字符串,遇空格、制表符或换行符结束。    

%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。    

%p 读入一个指针    

%u 读入一个无符号十进制整数   

%n 至此已读入值的等价字符数    

%[] 扫描字符集合    

%% 读%符号


相关文章
|
9月前
|
消息中间件 Kubernetes NoSQL
实现上下文保存和恢复的一种方式--setjmp与longjmp
实现上下文保存和恢复的一种方式--setjmp与longjmp
|
9月前
|
编译器 C++
02头文件的冲突导致,清除缓冲区失败之cin.ignore() 问题
输入任意多个整数, 把这些数据保存到文件data.txt中. 如果在输入的过程中, 输入错误, 则提示用户重新输入. 指导用户输入结束(按ctrl + z) [每行最多保存4个整数] 可能遇到的 cin.ignore();问题
69 0
|
存储 编译器 C语言
重定义/自定义printf到串口输出实现的三种方法(cubeide)
重定义/自定义printf到串口输出实现的三种方法(cubeide)
1115 0
|
Java Linux Windows
记一次因类未加载导致DEBUG断点执行不了的“诡异”
记一次因类未加载导致DEBUG断点执行不了的“诡异”
127 0
使用注释来阻止程序执行
使用注释来阻止程序执行
86 0
${变量:?提示信息}是什么意思?
当待测的变量不存在或者为空时,将返回提示信息,如果待测变量存在,则直接传变量值。
121 0