Olá Tadeu.

  Não sei como é seu código, mas
simulei algo parecido aqui.
  Criei o seguinte código:

#include <stdio.h>

int main(int argc, char **argv)
{
        int a, b, c;
        int vetor[128][128][128];

        for (a=0; a<128; a++)
                for (b=0; b<128; b++)
                        for (c=0;
c<128; c++)

vetor[a][b][c] = (a+b+c);

        printf("Posição
vetor[80][90][10] = %d.\n",
vetor[80][90][10]);
        return 0;
}

  Neste meu exemplo, o problema que
você descreveu ocorre, mas existe
uma explicação para isso.
  A variável vetor é local e por isso
é alocada na pilha. O tamanho
da pilha é determinado pelo comando
"ulimit". Atente a saída do comando:

[EMAIL PROTECTED]:~$ ulimit -a
[editado]
stack size            (kbytes, -s)
8192     <----
cpu time             (seconds, -t)
unlimited
max user processes            (-u)
1019

  Neste caso, é necessário aumentar a
"stack size", o que eu testei
e funciona perfeitamente.

  Outras soluções são:

  * Alocação dinâmica.
  * Declara a variável em questão como
global.


  Provavelmente a máquina SUSE tem uma
configuração diferente para
pilha.

--
===========================
[]'s Alexandre Costa
Linux Reg. User: 129596
E-mail: [EMAIL PROTECTED]
ICQ UIN nº: 19607379
---------------------------
Powered by Debian GNU/Linux



__________________________________________________________________________
Quer ter seu próprio endereço na Internet?
Garanta já o seu e ainda ganhe cinco e-mails personalizados.
DomíniosBOL - http://dominios.bol.com.br


Responder a