【问题标题】:Is syscall(2) part of a standard?syscall(2) 是标准的一部分吗?
【发布时间】:2017-04-11 13:23:22
【问题描述】:

syscall(2) 似乎不是 POSIX 或 C 标准库的一部分。它是任何标准的一部分吗?

是否所有的 libc 实现都实现了 syscall(2)?如果它不是 POSIX 等任何标准的一部分,是否只是所有 libc 实现都提供 syscall(2) 的约定?

【问题讨论】:

  • 即使在 Linux 上,syscall 在平台之间也非常不可移植。例如。有些架构通过socketcall 进行复用,有些则没有。

标签: linux posix system-calls


【解决方案1】:

在线搜索POSIX 没有结果syscall

Grepping 离线版本也不行。

POSIX 并不真正关心系统调用与纯用户空间函数。 (它在介绍中提到它只关心标准化函数的语义,而不关心这些函数是否包装系统调用。)

【讨论】:

    【解决方案2】:

    我不这么认为,因为system call 的概念非常具体。

    (我猜——但我不知道——Windows 中可选的“POSIX”接口可能没有syscall(2)

    然而,1980 年代过去的 Unix 实现有一些 syscall(2) 的东西。

    【讨论】:

      猜你喜欢
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多