【发布时间】:2019-01-30 15:09:58
【问题描述】:
我们都知道printf()是
【问题讨论】:
-
printf的开源实现有很多,有源码供大家学习。但是,如果您想知道从调用printf到屏幕上显示的输出的完整路径,这是一项艰巨的任务,它将教您编译器(为调用生成代码)到操作系统再到设备驱动程序到硬件并通过堆栈备份,直到输出结束在终端窗口中。 -
您似乎正在寻找有关使
printf工作的整个事件链的一般信息。 Here 是我六年前对此的回答。 -
这应该被标记为What goes behind printf in C的副本,而不是Code for printf function in C,这将是一个比太宽泛更好的分辨率。所以我投票重新开放,然后将投票关闭作为重复。
-
printf中的 Nothing 本身会在屏幕上显示任何内容,实际上,printf调用并不总是有这样的结果。它们只是将格式化的输出发送到标准输出流。如果恰好连接到终端驱动程序,则该驱动程序会显示输出(在屏幕上)。如果它连接到某种其他类型的设备,那么它会针对该设备进行适当的处理——可能是写入文件中,或者通过网络发送,或者存储在内存中,或者分派给另一个程序,或者 ....
标签: c