Dag*_*ang 5 c linux
众所周知,STDOUT 是在 Linux 中缓冲的。我的问题是:1)它是所有进程共享的全局缓冲区吗?还是每个进程一个缓冲区?2)缓冲区在哪里?在堆栈,堆或静态区域?3)谁创造的?
Ker*_* SB 3
stdout是由标准库创建的 CFILE指针,因此相关代码将作为 C 库的一部分加载。在 Linux 上,它将根据 Posix 文件描述符来实现。
stdout
FILE
您的 C 库和内核都可能使用缓冲;您必须检查各个文件。我建议首先查看C库源代码的相关部分(即实现的部分<stdio.h>),这应该很有教育意义。
<stdio.h>
归档时间:
13 年 前
查看次数:
1430 次
最近记录: