ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
C/C++ 编译器对函数调用强加了一套严格的规则。除了特殊的运行时支持函数,任何调用或被 C/C++ 函数调用的函数都必须遵循这些规则。不遵循这些规则会破坏 C/C++ 环境并导致程序失败。
以下各节使用此术语来描述 C/C++ 编译器的函数调用惯例:
有关 EABI 模式下或使用 VFP 协处理器时的调用惯例的详细信息,请参阅位于 ARM 信息中心的 EABI 文档。
图 6-5 演示了典型的函数调用。在此示例中,参数被传递给函数,该函数使用局部变量并调用另一个函数。前四个参数会传递给寄存器 R0-R3。此示例还显示了为被调用函数分配本地帧和参数块。没有局部变量且不需要参数块的函数不分配本地帧。