Quoting  Rodrigo Moreira <[EMAIL PROTECTED]>
Sent on  Fri, 5 Dec 2003 23:28:14 -0300

> Bom dia,
> 
> Eu sei que aqui nao e uma lista de programacao mas
> estou desesperado quanto a isto.
> O problema esta nesse programinha:
> 
> #include<stdio.h>
> #define tam 10000000
> main(){
> int vet[tam], i;
> for(i=0;i<tam;i++) vet[i]=1;
> }
> 
> Ele compila sem erros mas quando tento executar da
> falha de segmentacao.
> Quando troco o 10^7 por 10^6 fuciona sem problemas.
> 
> Alguem sabe o que pode ser? algum limite do gcc?
> do linux? do processador? 

limites estao longe de serem atingidos.  em IA-32, inteiros sao de 32 bits,
isso da 2^31 - 1 (com sinal).  tenta habilitar debugging info (com -g) e
roda o programa(a versao que da segfault) com o gdb:

        $ gdb programa
        (gdb) run

se ele gerar um segfault, da um 'bt full' pra ver o status das coisas
(variavel i por exemplo).

caso nao consiga consertar, pode me mandar msg a vontade.  a proposito, aqui
rodou tranquilo (AMD Athlon Thunderbird 858MHz, 256M RAM, gcc-3.3.2)

-- 
Ricardo Nabinger Sanchez
GNU/Linux #140696 [http://counter.li.org]
Slackware Linux

  "Keep grandma off the streets -- legalize bingo."
_______________________________________________
slack-users mailing list
[EMAIL PROTECTED]
http://www.linuxmag.com.br/mailman/listinfo/slack-users

Responder a