首页 > 解决方案 > 他们如何在 fstat 系统调用中传递其他参数而不是 st_buffer

问题描述

hello world 程序分配给我运行 strace 命令并查看输出,但我不明白 fstat 系统调用中的一件事。

我知道 fstat 系统调用应该有 stat buff 作为第二个参数,但是这里我们将 mode 和 size 作为参数传递,这怎么会发生?fstat 是如何知道文件 stze 的?

fstat(3, {st_mode=S_IFREG|0755, st_size=2066504, ...}) = 0 
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)

标签: clinuxlinux-kernelsystem-callsfstat

解决方案


推荐阅读