Il faut changer la taille maxi de la pile (man ulimit).
Par exemple:
ulimit -s 33554432
autorise une pile de 32Mo
--Raf
jeanluctux wrote:
> oui ici aussi. ... ca plante.... meme chose .... voila enfin un bon exemple.
>
> Comme je disais dans un de mes premiers mails, ca peut etre un probleme avec
> la taille de la pile.
> Effectivement, si tu sors la declaration des tableaux en dehors de la fonction
> main, alors, ca marche.
>
> En dedans de la fonction main (ou d'une fonction), le gros tableau va sur la
> pile de la fonction.
> En dehors d'une fonction (declaration du debut), ca doit aller sur des
> segments de donnees ... un truc du genre, mais pas sur la pile en tout cas.
>
> D'autres sur la liste sauront expliquer mieux que moi probablement.
> Je mets la liste en copie.
>
>
> Le Wednesday 19 November 2008 00.23:15 Patrick Dupre, vous avez écrit :
>> Voila,
>>
>> Chez moi, sur 2 machines Fedora, ce morceau de code plante:
>>
>> #include <stdio.h>
>>
>> #define MAX_NBPT 1048576
>> //#define MAX_NBPT 524288
>>
>> int main () {
>> double x [MAX_NBPT], y [MAX_NBPT] ;
>> printf ("WELCOME\n") ;
>> return 0 ;
>> }
>>
>> segmentation fault.
>>
>> What is wrong ?
>
>
>
>
>