0

私はUNIXシステムでデーモンを作成しており、モードstd::coutでデバッグするためにコードで使用していno silentます。でプロセスを開始すると、、、およびに印刷する際のdaemon/silence modeリソースclose(STDIN_FILENO)STDOUT_FILENO節約STDERR_FILENOできstd::coutます。閉じたときのようですが、書き込み/dev/nullますよね?沈黙モードでのリソースのオーバーヘッドを回避するための正しい最善の方法ですか?または、グローバルを使用silent flagして、を呼び出す前に毎回チェックする必要がありstd::coutますか?または他の解決策?ありがとう、私の英語でごめんなさい。

4

1 に答える 1

1

std::coutに書き込むことで実装されSTDOUT_FILENOます。後者を閉じると、前者が壊れます。

于 2012-05-21T07:42:56.180 に答える