g++ myprogram.cpp > compilation.log
or
g++ mayprogram.cpp | more
* It won't work, because these commands are only redirecting the standard output stream. The error message will continue to blow on by.
How you pipe or redirect the standard error stream depends on the shell you are running:
Unix, running C-shell or TC-shell
* The > and | symbols can be modified to affect the standard error stream by appending a '&' character. So these commands do work:
g++ myprogram.cpp >& compilation.log
g++ myprogram.cpp |& more
* A useful program in this regard is tee, which copies its standard input both into the standard output and into a named file:
g++ myprogram.cpp |& tee compilation.log
Linux/CygWin , running bash
* The sequence "2>&1" in a command means "force the standard error to go wherever the standard output is going".. So we can do any of the following:
g++ myprogram.cpp 2>&1 > compilation.log
g++ myprogram.cpp 2>&1 | more
and we can still use tee:
g++ myporogram.cpp 2>&1 | tee compilation.log
댓글 없음:
댓글 쓰기