有谁知道linux开发人员使用寄存器而不是堆栈的理由是什么?
注意:这是一个很好的页面,详细说明了这种差异:FreeBSD Developer’s Handbook:System Calls没有解释基本原理.
解决方法 系统调用约定是不同的,因为标准函数调用序列是不同的.我假设您正在讨论x86-32调用约定和AMD64调用约定之间的区别.你可以查看AMD64 ABI here.但如果你想快点检查this帖子.基本上它是关于速度.通过更改调用约定并使用寄存器而不是堆栈,您可以在序言和调用的结尾中删除指令.
总结以上是内存溢出为你收集整理的为什么Linux不遵循Unix系统调用约定?全部内容,希望文章能够帮你解决为什么Linux不遵循Unix系统调用约定?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)