在iPhone / ARM上,哪些CPU寄存器是应该保留的函数,如果有的话?
答案 0 :(得分:3)
陈旧但不正确的答案。维基百科往往不准确(有时完全不正确),这是前一种情况的一个例子。有一个通用的调用约定(这是维基百科的文档),但操作系统可以偏离 - Android和iOS都可以(并且很可能是Win 8,但我们会知道当二进制文件开始出现时)
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Introduction/Introduction.html 为iOS提供了正确的规范,因此在这里重复没有任何意义。最值得注意的是,请注意使用r7和r12。另请注意,ARMv6和ARMv7是不同的。到目前为止,您需要ARMv7架构(A4,5,6 ..)
答案 1 :(得分:1)
维基百科关于Calling Convention的文章对ARM的约定进行了很好的总结。