Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Algo/C] Grande chaine de caractères pour test d'un algorithme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Algo/C] Grande chaine de caractères pour test d'un algorithme

n°287219
Evadream -​jbd-
Posté le 16-01-2003 à 03:07:47  profilanswer
 

Edit : Hum... Un simple test if ( s == NULL ) ... m'a permis d'être certain que l'allocation a échoué. Je sais honte à moi, j'aurais du le faire dès le départ.. :p
 
 
Bonsoir tout le monde,
 
Ca fait 2 heures que je me bats avec gdb et je pense avoir compris qu'on ne pouvait allouer plus d'une certaine quantité de mémoire d'un coup ?
 
Je m'explique, j'ai voulu faire ceci :
 

Code :
  1. chaine = (char*)malloc( INT_MAX * size(char) );


 
Mais apparement, ca rend la suite du programme instable par la suite : en fait ca plante dès que j'ai un effet de bord, d'ou mon intuition sur l'allocation de la mémoire.  
 
Si je fais une grosse bourde, signalez la moi =)  
 
Si c'est autre chose, votre aide me serait bien utile pour obtenir une enorme chaine de caractère ! Edit 2 : J'ai bien sur pensé à une liste chainée, mais j'aimerais savoir si il y a un autre moyen !
 
Merci et A+


Message édité par Evadream -jbd- le 16-01-2003 à 03:13:01
mood
Publicité
Posté le 16-01-2003 à 03:07:47  profilanswer
 

n°287220
Evadream -​jbd-
Posté le 16-01-2003 à 03:14:33  profilanswer
 

En me contentant d'un INT_MAX/10, ca passe !

n°287256
kadreg
profil: Utilisateur
Posté le 16-01-2003 à 08:35:37  profilanswer
 

Evadream -jbd- a écrit :


Code :
  1. chaine = (char*)malloc( INT_MAX * size(char) );




 
[:totoz]
 
EUUUHHHHH, tu sais combien de mémoire tu essaye d'allouer là ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°287270
Evadream -​jbd-
Posté le 16-01-2003 à 09:13:10  profilanswer
 

2 147 483 647  * 8 ce qui me fait environ 16 go à gros coup de louche  C'est vrai que c'est n'importe quoi =D =D
 
Je me demande pourquoi ca passe avec INT_MAX/10 alors :/ Ca swap un peu certes, mais ca va.

n°287738
Taz
bisounours-codeur
Posté le 16-01-2003 à 16:30:16  profilanswer
 

tu ferais bien de faire plutot plein de malloc de 1Mo pour etre sur qu'il ne soit pas mappé sur un fichier spécial (genre mmap, si ce concept existe sous windows)

n°288784
Musaran
Cerveaulté
Posté le 18-01-2003 à 03:51:55  profilanswer
 

sizeof(char) vaut 1.
8, c'est le nombre de bits dans un octet classique.
 
Vu que tes pointeurs ont probablement la même taille que les entiers (et quelques autres suppositions), tu essaies d'allouer la moitié de ton espace d'adressage.
Si ton système d'exploitation s'en réserve la moitié pour lui-même, ça passe juste pas.
 
Rien que la moitié, ce serait jouable...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Algo/C] Grande chaine de caractères pour test d'un algorithme

 

Sujets relatifs
Programmation Web et caractères spéciaux.Recuperer une chaine de caractere d'une iframe
test de primalité : erreur dans le codecopie de chaines de caractères
Génération d'une chaîne de caractère[PHP] Faire un test sur la valeur d'un paramètre du php.ini
recuperer une page WEB en chaine de caracteresmanipulation chaine de charactere
[SHELL] Traitement des chaîne de caractères 
Plus de sujets relatifs à : [Algo/C] Grande chaine de caractères pour test d'un algorithme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR