/* * Alterando o tamanho do segmento de dados */ #include #include #include #include #include #include char str_dados[10]; int main() { char str_pilha[10], *topo; int pagesize = getpagesize(); printf("Tamanho em bytes de um endereco: %lu\n", sizeof(char*)); printf("Tamanho em bytes de uma pagina: %d\n", pagesize); printf("str_pilha = %p\n", str_pilha); printf("main = %p\n", main); printf("str_dados = %p\n", str_dados); topo = sbrk(0); printf("Topo da area de dados = %p\n", topo); *(topo-1) = 0; if (sbrk(1024*pagesize) != -1) { topo = sbrk(0); printf("Topo da area de dados = %p\n", topo ); } *(topo-1) = 0; /* Segmentation fault? */ /*topo = 0; */ return 0; }