在unistd.h
_syscall0
〜_syscall6
:
_syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6)
我的结论是否正确?
答案 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)。