我正在使用外部库 - portaudio.h - 在我的项目中,其中一个函数pa_initialize()
会向控制台输出大量信息性垃圾。
在我调试我的项目时它会有所帮助,但是当我提出它时会有问题。
我无法访问该库并进行编辑。
有没有办法阻止此特定功能或我的代码的特定部分打印到控制台?
我在Visual Studio 2013上用C语言写作。
答案 0 :(得分:1)
好吧,在重新阅读portaudio documentation之后,我找到了解决方案。
他们确实提供了一种在构建项目时禁用调试打印的预定义方法,因此我不得不重建它,并且它有效。
应该从那里开始......
由于
答案 1 :(得分:0)
SQLContext
可以写信给pa_initialize
和stdout
。您可以通过关闭它们来停用这些流。重新激活是问题,因为解决方案不是交叉编译器。以下为MinGW64工作:
stderr
Hello world!
再次问好!
对于MSVC,以下#include <stdio.h>
int main(){
puts("Hello world!");
fclose(stdout);
puts("Should not be printed.");
freopen("CON", "w", stdout);
puts("Hello again!");
return 0;
}
的部分应该对您有意义:
stdio.h
答案 2 :(得分:-2)
您可以创建一个记录函数,该函数采用可以设置和取消设置的布尔标记。
例如
boolean printOnConsole= false;
void printLog(boolean flag, String data)
{
if(flag)
//print yor data on console
}