如何有效禁止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 至此已读入值的等价字符数    

%[] 扫描字符集合    

%% 读%符号


相关文章
|
8月前
|
编译器 C++
02头文件的冲突导致,清除缓冲区失败之cin.ignore() 问题
输入任意多个整数, 把这些数据保存到文件data.txt中. 如果在输入的过程中, 输入错误, 则提示用户重新输入. 指导用户输入结束(按ctrl + z) [每行最多保存4个整数] 可能遇到的 cin.ignore();问题
66 0
使用 pragma message 查找多变的 DEBUG 宏
使用 pragma message 查找多变的 DEBUG 宏
C --- 自定义一个宏打印当前文件名、函数名、行号
C --- 自定义一个宏打印当前文件名、函数名、行号
319 0
|
程序员 C语言
【无标题】c语言--#define替换规则
【无标题】c语言--#define替换规则
144 0
|
存储 编译器 C语言
重定义/自定义printf到串口输出实现的三种方法(cubeide)
重定义/自定义printf到串口输出实现的三种方法(cubeide)
1020 0
|
编译器 C语言
宏、条件编译(#ifdef)、#include(头文件包含)、#error和 #pragma的区别、#和##的含义和应用
宏、条件编译(#ifdef)、#include(头文件包含)、#error和 #pragma的区别、#和##的含义和应用
115 0
用#define宏实现Add函数
用#define宏实现Add函数
110 0
|
Unix
C代码中__LINE__输出时与代码行号不同的解决办法
C代码中__LINE__输出时与代码行号不同的解决办法
97 0
|
编译器 C++
Dev-c++中将头文件和头文件函数分离,编译主函数跳出undefined reference to 的问题解决
Dev-c++中将头文件和头文件函数分离,编译主函数跳出undefined reference to 的问题解决
Dev-c++中将头文件和头文件函数分离,编译主函数跳出undefined reference to 的问题解决