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
運(yùn)行時(shí)棧是在單個(gè)連續(xù)存儲(chǔ)器塊中分配的,并從高位地址向下增長(zhǎng)到低位地址。 SP 指向棧頂。
代碼不會(huì)檢查運(yùn)行時(shí)棧是否溢出。當(dāng)棧增長(zhǎng)超出為其分配的內(nèi)存空間限值時(shí),就會(huì)發(fā)生棧溢出。確保為棧分配足夠的存儲(chǔ)器空間。
通過在鏈接器命令行上使用 --stack_size 鏈接選項(xiàng)并在選項(xiàng)后直接將棧大小指定為常量,可以在鏈接時(shí)更改棧大小。
編譯器附帶的 C/C++ 引導(dǎo)例程設(shè)置用戶/線程模式運(yùn)行時(shí)棧。如果程序在其他運(yùn)算模式下使用運(yùn)行時(shí)棧,則還必須分配空間并設(shè)置與這些模式對(duì)應(yīng)的運(yùn)行時(shí)棧。
EABI 要求 64 位數(shù)據(jù)(long long 和 long double 類型)按 64 位對(duì)齊。這要求棧在函數(shù)入口處以 64 位邊界對(duì)齊,以便局部 64 位變量以正確對(duì)齊方式分配到棧中。引導(dǎo)例程在 64 位邊界對(duì)齊棧。