Je suis d'accord avec le fait de vérifier les retours de malloc/realloc, mais uniquement quand la taille demandée est grande.
Car oui, si tu demandes une plage de mémoire trop grande, tu peux ne pas l'obtenir sans que le programme fonctionne mal à côté car il reste de la mémoire disponible.
Mais quand tu demandes quelques octets en mémoires, typiquement un petit tableau et qu'on te le refuse, on peut admettre sans problème qu'un tel cas n'arrive uniquement quand la machine est à genoux et qu'elle swappe à mort ou pire qu'elle est en train de planter lamentablement. Pour un petit programme de merde, ça ne vaut pas le coup de traiter un tel cas (qui n'arrive que rarement et la situation est en général dramatique en telle circonstance…).
Bref, allouer un gros bloc ou un petit ne demande pas une gestion de la mémoire de même finesse, car les conséquences sur l'état du système à ce moment là sont très différents.
# Je pense que tu confonds les cas où c'est nécessaire
Posté par Renault (site web personnel) . En réponse au journal Genèse d'un journal. Évalué à 0.
Je suis d'accord avec le fait de vérifier les retours de malloc/realloc, mais uniquement quand la taille demandée est grande.
Car oui, si tu demandes une plage de mémoire trop grande, tu peux ne pas l'obtenir sans que le programme fonctionne mal à côté car il reste de la mémoire disponible.
Mais quand tu demandes quelques octets en mémoires, typiquement un petit tableau et qu'on te le refuse, on peut admettre sans problème qu'un tel cas n'arrive uniquement quand la machine est à genoux et qu'elle swappe à mort ou pire qu'elle est en train de planter lamentablement. Pour un petit programme de merde, ça ne vaut pas le coup de traiter un tel cas (qui n'arrive que rarement et la situation est en général dramatique en telle circonstance…).
Bref, allouer un gros bloc ou un petit ne demande pas une gestion de la mémoire de même finesse, car les conséquences sur l'état du système à ce moment là sont très différents.