Прошу помочь кто знает что у меня происходит... Есть элементарная прога на C:
void function() {
char buffer[20];
char *ret;
return;
}
int main() {
function();
return;
}
Почему когда я отвожу буфер в 20 байт в ассемблерном коде я вижу следующее:
function:
pushl %ebp
movl %esp, %ebp
subl $56, %esp
56 байт... почему не 24? вроде буфер 5 слов и указатель 1... 6 в сумме получается...
RH Linux 9.0, gcc v3.2.2 compiler.