本文介绍了在x86_64的Linux的内联汇编系统调用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么退出摆好我的程序的这个打印垃圾呢?我用的系统调用BSD这样了,我不知道我需要使它在Linux下正常工作。
INT
主(INT ARGC,字符** argv的)
{
__asm(MOVQ $ 1,RAX%; MOVQ $ 0%RDI;系统调用); / *退出(0)? * /
返回0;
}
感谢。
解决方案
Per CESA-2009-001, "Syscall 1 is exit on i386 but write on x86_64".
Use the syscall ordinals from the current unistd_64.h
Hope this helps!
这篇关于在x86_64的Linux的内联汇编系统调用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!