先记结论
open() 返回的整数不是文件内容的地址,而是当前进程用于引用已打开文件对象的文件描述符。
后续整理方向
把 open → fd → read → kernel file object 的关系画成一张图,再补充标准输入 0、标准输出 1、标准错误 2。
从文件描述符、进程文件表和系统调用理解 open/read 的接口。
open() 返回的整数不是文件内容的地址,而是当前进程用于引用已打开文件对象的文件描述符。
把 open → fd → read → kernel file object 的关系画成一张图,再补充标准输入 0、标准输出 1、标准错误 2。