6

g++ コンパイラの出力 (stderr と stdout の両方) を Linux のファイルにリダイレクトしています。しかし、空のファイルを作成しています。

他の投稿で、stdout がすべての行の後にフラッシュされないことを読みました。それは問題ありませんが、stderr はどうでしょうか。私の場合、複数の画面を実行するとコンパイル エラーが発生します。だから、私は標準エラー出力に興味があります。stdout 出力は作成されません。

 g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I 
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp 2> output

上記のコマンドは、「output」という名前の空のファイルを作成します。次のコマンドは、無効な null コマンドを報告します。

 g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I    
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp &> output
Invalid null command.
4

3 に答える 3

14

あなたのコメントの1つは、bashを使用していないことを裏切っています。cshまたはtcshを使用しています。その場合、次のようにすべての出力(標準エラーを含む)をリダイレクトできます。

g ++ -c Algorithms.cpp>&出力

より多くのcshリダイレクト構文については、便利なリンクをブックマークしています。cshリダイレクト構文はbash構文ほど流暢ではないことに注意してください。cshよりもbashで多くのことができます。

于 2009-02-23T18:29:12.750 に答える
3

あなたはこれを試すかもしれません:

sh/bash/zsh バージョン:

g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ \
       -I ~/cplusplus/niVxWorksDeliver/TEES/ \
       Algorithms.cpp > output 2>&1

csh または tcsh バージョン:

g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ \
       -I ~/cplusplus/niVxWorksDeliver/TEES/ \
       Algorithms.cpp >& output
于 2009-02-23T17:11:27.947 に答える
0

「いいニュースはありません」 -- あなたのコマンドは出力を生成しますか? エラーがない場合、g++ は何も出力しません!

于 2009-02-23T17:09:18.763 に答える