Re: maximum size in c

Page principale

Répondre à ce message
Auteur: Patrick Dupre
Date:  
À: jeanluctux
CC: guilde
Sujet: Re: maximum size in c
J'oubliais,

Le segmentation fault apparait au chargement.


> Merci,
>
> Mais je comprends rien,
> C'est exact, le segmentation fault est du a:
> for (i = 0 ; i < nb_pt ; i++) fprintf (file_out,"%11.5f %g\n", x [i], y [i])
> ;
> qui est a la fin du programme.
> Si je fait :
> for (i = 0 ; i < nb_pt ; i++) fprintf (file_out,"%11.5f %g\n", x [i]) ;
>
> Ca marche,
>
> de meme ceci marche:
>
> #define MAXDBL 4194304
> double x[MAXDBL], y [MAXDBL] ;
> int main () {
>    unsigned long int i;
>    unsigned long int nb_pt = MAXDBL ;
>    FILE *file_out ;
>    file_out = fopen ("tmp.txt", "w") ;
>    for(i = 0 ; i < MAXDBL ; i++)
>    {
>        x [i] = 1.0 ;
>    };
>    for (i = 0 ; i < nb_pt ; i++) fprintf (file_out, "%11.5f %g\n", x [i], y 
> [i]) ;
>    return 0;
> };

>
> Ou est l'erreur ?
>
>
>>
>> Regarde si tu n'aurais pas d?clar? ton tableau ? l'int?rieure d'une
>> fonction.
>> Si oui, ca va mettre ton gros tableau dans la pile, et l?, c'est une autre
>> histoire.
>>
>> Jean-Luc.
>>
>>
>> Le Monday 17 November 2008 21.27:40 Patrick Dupre, vous avez ?crit?:
>>> Bonsoir,
>>>
>>> Je declare:
>>> double x [1048576]
>>> et j'obtiens un segmenation fault !
>>> double x [524288]
>>> est OK.
>>>
>>> est-ce qu'il y a des tailles maximum en c ?
>>> J'ai 1 Go de RAm, et j'ai deux variable telles que x !
>>
>>
>>
>
>


-- 
---
==========================================================================
  Patrick DUPRÉ                      |   |
  Department of Chemistry            |   |    Phone: (44)-(0)-1904-434384
  The University of York             |   |    Fax:   (44)-(0)-1904-432516
  Heslington                         |   |
  York YO10 5DD  United Kingdom      |   |    email: pd520@???
==========================================================================