相关疑难解决方法(0)

即使重定向stdout和stderr,Unix程序如何在屏幕上显示输出?

我在我的Ubuntu机器上运行了一个程序(实际上是valgrind),并将stdout和stderr重定向到不同的文件.我很惊讶地看到屏幕上出现一条短信 - 这怎么可能?我怎么能在C++程序中自己做到这一点?

编辑:这是我使用的命令,输出:

$ valgrind ./myprogram > val.out 2> val.err
*** stack smashing detected ***: ./myprogram terminated
Run Code Online (Sandbox Code Playgroud)

EDIT2:玩了一下,事实证明myprogram,而不是valgrind,正在打印消息,并且如下面的回答,它看起来像gcc堆栈粉碎检测代码正在打印到/ dev/tty

c++ linux

20
推荐指数
1
解决办法
1213
查看次数

标签 统计

c++ ×1

linux ×1