static char* addr=NULL;
auto char dummy;
if(!addr){
addr = &dummy;
return get_stack_direction();
}
return (&dummy > addr) ? 1 : -1; //это направление РОСТА стека
}
int stack_print(int test, int stack_ints_to_print, int sd)
{
auto int32_t this_is_stack=0;
register uint32_t* stack = (uint32_t*)&this_is_stack;
register int i;
int j;
for(i=0,j=0; i <= stack_ints_to_print; ++i, j+=sd){
printf("%03d %08x\n",i,stack[j]);
}
}
int main()
{
printf("main=%x\n",&main);
stack_print(0x1023456,10,-get_stack_direction());
}
вот, решение такое нашла
Обсуждают сегодня