gpt4 book ai didi

go - 在哪里为 plan9 定义了 Stat_t?

转载 作者:IT王子 更新时间:2023-10-29 01:02:18 25 4
gpt4 key购买 nike

plan9 特定于syscall 的Go 代码中,没有像其他GOOS 那样的Stat_tStat_t 或其等效定义在哪里?

最佳答案

TL;DR:这是 *syscall.Dir类型。继续阅读以了解详细信息。

Plan9 上 os.Stat 的来源是 here .它调用定义为 heredirstat .它将 dirstat 的返回值提供给 fileInfoFromStat,它在同一文件中定义 here .

在路径的情况下(与 *File 对象相反),dirstat 只调用 syscall.Stat ,这基本上只是一个薄包装 stat . syscall.Stat 需要一个能够写入的字节缓冲区。这个缓冲区经过一些处理(详见dirstat),然后送入syscall.UnmarshalDir。 ,这就是魔法发生的地方。文档指出它从缓冲区“解码单个 9P 统计消息”并返回 *syscall.Dir .

dirstat 然后将此 *syscall.Dir 传递给 fileInfoFromStat,后者将其处理成 FileInfo .这是通过 FileInfo 对象上的 Sys() 方法获得的 *syscall.Dir 值。

关于go - 在哪里为 plan9 定义了 Stat_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545178/

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