教大家如何屏蔽printf,cout,qDebug等打印信息。
1. MSVC编译器
将两个“/”连接成“//”实现注释是MSVC编译器扩展功能。
1
2
3启用宏替换后变为注释语句
1
2printf("Hello world!");
相当于: //("Hello world!")
1 | cout << "Hello world!"; |
1 | qDebug() << "Hello world!"; |
2. 直接关闭流
2.1 POSIX标准的编译器
1 |
|
2.2 调用stdio标准库
- 注意:调用fclose()之后对流的任何使用导致了未定义的行为,不建议使用。
1
2
fclose(stdout);
2.3 使用注意
- 关闭输出流后下列类似的打印将不会输出
- 注意:关闭输出流后没有方法重新为它打开。
1
2
3printf("Hello world!");
cout << "Hello world!";
qDebug() << "Hello world!";
3. Qt库实现
- 在Qt项目文件添加以下定义:
屏蔽
qInfo()
1
DEFINES += QT_NO_INFO_OUTPUT
屏蔽
qDebug()
1
DEFINES += QT_NO_DEBUG_OUTPUT
屏蔽
qWarning()
1
DEFINES += QT_NO_WARNING_OUTPUT
关于更多
- 公众号后台回复”技巧“获取相关文章。