( uid_720 | 2022. 07. 25., h – 08:41 )

Szerintem a fordító egyszerűen lefoglalja a tömböt a függvénybe belépéskor. Az alternatíva az lenne, hogy minden iterációban, amikor a feltétel teljesül, akkor módosítja a stack pointert, de ezt meg nem szeretné. Futásidőre optimalizál, nem memóriára.

Hagyományosan a stack visszafelé növekszik, ARM-on (mármint az ARM utasításkészletben, Thumbban nem biztos) megvan a lehetősége az elölről növekedő stacknek is, de valamiért ez terjedt el.

Én régebben (13 évvel ezelőtt) OpenOCD-vel debuggoltam, kell hozzá egy JTAG adapter, és pici konfigurációval össze lehet kötni gdb-vel.