gpt4 book ai didi

c - STDOUT 缓冲区在哪里?

转载 作者:可可西里 更新时间:2023-11-01 11:49:46 25 4
gpt4 key购买 nike

众所周知,STDOUT 在 Linux 中被缓冲。我的问题是:1)它是所有进程共享的全局缓冲区吗?还是每个进程一个缓冲区? 2)缓冲区在哪里?在堆栈、堆或静态区域? 3) 谁创造了它?

最佳答案

stdout是 C FILE由标准库创建的指针,因此相关代码作为 C 库的一部分加载。在 Linux 上,它将根据 Posix 文件描述符来实现。

您的 C 库和内核都可以使用缓冲;您必须检查各个文档。我建议首先查看 C 库源代码的相关部分(即实现 <stdio.h> 的部分),这应该很有教育意义。

关于c - STDOUT 缓冲区在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com