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

时间:2011-03-22 08:14:07

标签: linux system-calls

unistd.h _syscall0_syscall6

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

我的结论是否正确?

2 个答案:

答案 0 :(得分:4)

引用:

古代历史

  

早期版本的Linux可以处理   只有四五个系统调用   参数,因此系统   调用select()(5个参数)和   mmap()(6个参数)曾经有过   作为指针的单个参数   内存中的参数块。以来   Linux 1.3.0有五个参数   支持(和早期选择   内存块被重命名为old_select),   并且自Linux 2.3.31以来的六个参数   支持(和早期的mmap   随着内存块的成功   新的mmap2)。

答案 1 :(得分:3)

看起来这个函数接受了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)。