Ola' Rodrigo,

Se esta' tendo dificuldade com a alocacao estatica, tente a alocacao dinamica:


#include<stdio.h>
#include<stdlib.h>


#define tam 100000000

int main(void)
{
unsigned int i;
int * vetor;


if( (vetor = (int *) malloc ( tam * sizeof(int) )) != NULL )
{
for(i=0;i<tam;i++) *(vetor + i) = 1;
}
else printf("\n\n Nao foi possivel alocar memoria dinamicamente!!!\n\n");


return(0);
}



O seu problema e' que voce esta' estourando o tamanho da pilha (stack) reservada para o seu processo. Este problema pode ser resolvido alterando o tamanho da pilha atraves do compilador ou utilizando alocacao dinamica. A grande vantagem da alocacao dinamica e' que quando voce tenta reservar mais do que deveria, o compilador reclama:


warning: large integer implicitly truncated to unsigned type


Um grande abraco,


Mazolli.

Departamento de Fisica
UFRJ
_______________________________________________
slack-users mailing list
[EMAIL PROTECTED]
http://www.linuxmag.com.br/mailman/listinfo/slack-users

Responder a