Windows上にはOutputDebugStringの機能がありますが、Linuxでこれをどうやって行うのですか?Linux(GCC)で出力する(標準出力ではない)方法は?
アップデート:stderrとstdlogは私が望むものではありません。それらはstdoutにリダイレクトされます。 P.S. syslog
も同じです。
Windows上にはOutputDebugStringの機能がありますが、Linuxでこれをどうやって行うのですか?Linux(GCC)で出力する(標準出力ではない)方法は?
アップデート:stderrとstdlogは私が望むものではありません。それらはstdoutにリダイレクトされます。 P.S. syslog
も同じです。
qDebug
(Linuxの場合)はstdoutにリダイレクトされます。 WindowsではOutputDebugString
のように2つの異なる出力ストリームを取得する方法はありません。 Linuxに専用のデバッグ出力ストリームはないようです。
OutputDebugString
は正確にはわかりませんが、標準のC++では標準エラーストリームstd::cerr
と標準ログストリームstd::clog
が定義されています。両方ともヘッダ<iostream>
に宣言されています。
これらは、デフォルトでLinuxの同じファイル記述子に関連付けられています。違いはcerr
がバッファリングされておらず、clog
がバッファリングされているということです(私はそれがラインバッファであると信じています)。
Linuxには「システムデバッガ」という概念はありません。システムログに書き込む場合は、syslog(3)
を使用できます。
ありがとうございます。ちなみに、3の意味は 'syslog(3)'でしょうか?私はそのような表記を頻繁に見ますが、意味を理解することはできません。 –
@VioletGiraffe: 'syslog'はLinuxマニュアルのセクション3にあることを意味します。 'man 3 syslog'はマンページを表示します。 –
これらはすべて、IDEの「出力」ウィンドウの代わりにコンソールに表示されます。その他のアイデアは? –
どのウィンドウマネージャを使用していますか?そして、これはコンソールかwinodwedアプリケーションですか? – johnathon
@johnathon:これはコンソールアプリケーションです。特定のWMに頼るのは嫌です。 –
どのIDEを使用していますか? –