我找不到专门的官方网站来搜索此类信息。
例如,如果我想exit
,我应该如何使用x86_64中引入的syscall
进行操作?
有关此类详细信息的任何手册吗?
我在Centos上。
答案 0 :(得分:1)
Glibc sysdeps/unix/sysv/linux/x86_64/syscall.S
,看看这是否有帮助。
答案 1 :(得分:1)
让C库为你做:
movl $0, %rdi # or whatever exit code you want (0-127)
call _exit
你真的不希望自己进行系统调用。 C库使您免受一堆低级ABI问题的影响(许多系统调用存在于多个版本中,具体取决于您拥有的内核;其中一些不需要实际的陷阱进入管理程序模式;等等),它知道如何设置errno
,它将为架构和内核版本选择最有效的陷阱序列。