在Windows上有OutputDebugString函數,我怎麼在Linux上做同樣的事情?如何在Linux(GCC)中打印輸出(不是標準輸出)?
更新:stderr和stdlog不是我想要的。這些被重定向到標準輸出。 P. S.和syslog
也沒有區別。
在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? –