Re: maximum size in c

Top Page

Reply to this message
Author: Patrick Dupre
Date:  
To: jeanluctux
CC: guilde
Subject: Re: maximum size in c
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@???
==========================================================================