Linux中真的没有超过6个参数的系统调用吗?

发布于 2024-10-24 17:29:50 字数 209 浏览 5 评论 0原文

unistd.h中有_syscall0~_syscall6

_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)

那么我的结论对不对呢?

In unistd.h there's _syscall0~_syscall6:

_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)

So is my conclusion right or not?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冧九 2024-10-31 17:29:50

引用:

古代历史

早期版本的 Linux 可以处理
只有四五个系统调用
参数,因此系统
调用 select() (5 个参数)并且
mmap()(6个参数)用于有一个
单个参数是一个指针
内存中的参数块。自从
Linux 1.3.0 五个参数分别是
支持(以及之前选择的
内存块被重命名为old_select),
自 Linux 2.3.31 起有六个参数
支持(以及早期的 mmap
与内存块被继承
新的 mmap2)。

Quoted :

Ancient history

Earlier versions of Linux could handle
only four or five system call
parameters, and therefore the system
calls select() (5 parameters) and
mmap() (6 parameters) used to have a
single parameter that was a pointer to
a parameter block in memory. Since
Linux 1.3.0 five parameters are
supported (and the earlier select with
memory block was renamed old_select),
and since Linux 2.3.31 six parameters
are supported (and the earlier mmap
with memory block was succeeded by the
new mmap2).

扛起拖把扫天下 2024-10-31 17:29:50

看起来该函数接受 7 个参数 (0-6),但此网页显示 6

从这里: http://www.win.tue.nl/~aeb/linux/lk/lk-4.html

早期版本的 Linux 可以处理
只有四五个系统调用
参数,因此系统
调用 select() (5 个参数)并
mmap()(6个参数)用于有一个
单个参数是一个指针
内存中的参数块。自从
Linux 1.3.0 五个参数分别是
支持(以及之前选择的
内存块被重命名为old_select),
自 Linux 2.3.31 起有六个参数
支持(以及早期的 mmap
与内存块被继承
新的 mmap2)。

Looks like that function accepts 7 params (0-6) but this webpage says 6

From here: http://www.win.tue.nl/~aeb/linux/lk/lk-4.html

Earlier versions of Linux could handle
only four or five system call
parameters, and therefore the system
calls select() (5 parameters) and
mmap() (6 parameters) used to have a
single parameter that was a pointer to
a parameter block in memory. Since
Linux 1.3.0 five parameters are
supported (and the earlier select with
memory block was renamed old_select),
and since Linux 2.3.31 six parameters
are supported (and the earlier mmap
with memory block was succeeded by the
new mmap2).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文