c - stdio header 中的 _iob 声明

标签 c linux unix

从 stdio.h 头文件中有一个声明,我无法理解它的用途,OPEN_MAX 被定义为 20

extern FILE _iob[OPEN_MAX];

这个 _iob 数组是什么,它的用途是什么? 它似乎很重要,因为 stdin、stdout 和 stderr 被定义为 (&_iob[0]),(&_iob[1]) , 和 (&_iob[2]);

最佳答案

是进程的打开文件表。在 UNIX 中,此表不那么可见,但在 Windows 下可以访问该表。

我记得 iob 代表输入/输出 block 。

关于c - stdio header 中的 _iob 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28242932/

相关文章:

linux - Unix/Linux 管道是由生产者还是消费者驱动的?

linux - 预计无法在我的 Bash 脚本中运行

c - 在 openCl 内核中使用 "String"

c - 大小为 8 的无效写入/读取

c - 这段代码中的段错误在哪里?

Python - 主管如何记录标准输出 -

linux - 自定义 Liquibase 控制表(DATABASECHANGELOG 和 DATABAEECHANGELOGLOCK)

c++ - vfork导致内存 "free()"崩溃,但是fork却没有,这是怎么回事?

shell - 在shell脚本中使用ssh变量

c - 读入数组时出现段错误