java / c ++输出如何工作? COUT<<是System.out.print

时间:2014-07-09 19:21:50

标签: java c++ linux

我主要关注Linux,但欢迎涉及Windows的答案。

当我使用System.out.printlncout<<实际发生的事情以及当我在gui应用程序中执行cout时会发生什么(它会去哪里)?

我感兴趣的一个案例是Netbeans IDE。当我在Netbeans中运行java程序时,IDE是否可以“窃取”程序的输出并显示它?

更新/旁注

  

http://www.linfo.org/standard_output.html

     

标准输出的一个特性是它有一个默认值   目的地,但很容易被重定向(即转移)到另一个   目的地。该默认目的地是该屏幕上的显示屏幕   启动该计划的计算机。因为标准流是   纯文本,根据定义,它们是人类可读的。

“启动程序”是什么意思? 我不太熟悉程序执行的开始,但在我的netbeans示例中,很明显IDE启动了程序。那是什么意思呢?当程序被设置为执行时,是否有一些元数据浮动,让操作系统知道Netbeans正在启动该程序?

1 个答案:

答案 0 :(得分:5)

当程序执行时,三个特殊文件描述符:stdin,stdout和stderr与某个设备相关联,以确定如何管理输入和输出。如果从终端shell执行程序,则stdin与终端窗口的键盘,stdout和stderr相关联。在开发环境中执行程序时,通常会在某些特殊的控制台选项卡中显示stdout和stderr。在其他情况下,输出转到某个日志文件或可能被丢弃......

System.out和cout是表示Java和C ++中的stdout流的对象。