【发布时间】:2018-07-11 01:49:59
【问题描述】:
我对 Streams 很困惑。
1) 操作系统(即 Windows)是否提供通用标准输入流并且所有语言都使用它(即 Java 将其称为 System.in 而相同的标准输入流在 c 中用 stdin 引用)?
是不是键盘有一些端口或物理地址,而操作系统已经存储了它 在某些变量中,当程序需要它时,它会根据语言为 stdin 或 System.in 提供相同的地址?
或,
2) 是不是每种语言都有自己为标准流编写的 API,当我们运行程序时,流会连接到输入设备?
除了数据,该流还有哪些信息?即设备的物理端口或地址或什么?
另外,请说明 System.in get "connected" to program when we run it 是什么意思。这里的“连接”是什么意思?
请分享一些链接。
【问题讨论】:
-
文件描述符 1 是在进程启动之前为它创建的,写入该进程的任何内容都会写入标准输出。
-
答案是高度系统特定的。如今,大多数人已经习惯了 Windoze 和 Eunuch 式的脑损伤 I/O,这种 I/O 非常有限。
标签: java c++ c operating-system