在调用函数指针时如何保存被调用者保存的寄存器?

时间:2015-10-28 13:43:21

标签: c low-level

通常,当函数A调用函数B时,函数A将在调用函数B之前保存所有调用者保存的寄存器(即实时)。在我的(有点深奥)用例函数中,将通过函数指针调用函数B.并且还可以覆盖被调用者保存的寄存器而不保存它们。这意味着A还必须在调用B之前保存被调用者保存的寄存器。我查找了为函数指针使用自定义调用约定的可能性,但该解决方案没有成功。我正在使用gcc(或clang)并为ARM编译,但如果可能的话,我想避免使用内联汇编或特定于编译器的构造来使代码尽可能通用。有人有个好主意吗? : - )

0 个答案:

没有答案