如何在Linux(GCC)中打印输出(不是标准输出)?
在Windows上有OutputDebugString函数,我怎么在Linux上做同样的事情?如何在Linux(GCC)中打印输出(不是标准输出)?
更新:stderr和stdlog不是我想要的。这些被重定向到标准输出。 P. S.和syslog
也没有区别。
在Linux上的qDebug
被重定向到标准输出。在Windows上,无法获得两个不同的输出流,例如OutputDebugString
。 Linux上似乎没有专用的调试输出流。
我不确定OutputDebugString
确实是什么,但标准C++定义了标准错误流std::cerr
和标准日志流std::clog
。两者都在标题<iostream>
中声明。
这些默认绑定到Linux中的同一文件描述符;不同的是cerr
是无缓冲的,而clog
是缓冲的(我相信它是行缓冲的)。
Linux中没有“系统调试器”的概念。如果你想写入系统日志,你可以使用syslog(3)
。
谢谢。顺便说一下,3是什么意思是'syslog(3)'?我经常看到这样的表示法,但无法理解其含义。 –
@VioletGiraffe:这意味着'syslog'在Linux手册的第3部分。 'man 3 syslog'会为其提供manpage。 –
这些全部显示在控制台中,而不是IDE中的“输出”窗口。还有什么想法? –
您正在使用哪个窗口管理器?这是一个控制台还是winodwed应用程序? – johnathon
@johnathon:这是一个控制台应用程序,我不想依赖某个WM。 –
你在用什么IDE? –