Éditeurs de liens, chargeurs et exécutables

De quelle zone du processus provient généralement la mémoire allouée par malloc en C ?

  1. ALa section .text
  2. BLe tas
  3. CLa section .rodata
Afficher la réponse et l'explication

Réponse : B. Le tas

Le tas est la zone où l'on alloue pendant l'exécution la quantité de mémoire nécessaire et où on la restitue par free lorsqu'elle n'est plus utile. Sa particularité est que la taille et la durée de vie des allocations peuvent être décidées à l'exécution. malloc gère lui-même l'espace libre et, lorsqu'il manque, demande à l'OS d'étendre la zone (appels système brk ou mmap sous Linux). Oublier free laisse subsister de la mémoire inutilisée : c'est une fuite de mémoire.

S'entraîner sur ce thème Retour au thème

Autres questions sur Éditeurs de liens, chargeurs et exécutables

  1. Quel est l'agencement mémoire correct d'un processus typique sous Linux notamment, des adresses basses aux adresses hautes ?
  2. Quel est l'avantage de l'agencement qui fait croître le tas et la pile d'un processus en sens opposés, avec un vaste espace libre entre eux ?
  3. Quelle description de l'édition de liens statique est correcte ?
  4. Quel est l'avantage de l'édition de liens dynamique (bibliothèques partagées) ?
  5. Un programme utilisant l'édition de liens dynamique, copié sur un autre ordinateur, ne démarre pas. Quelle est la cause la plus probable ?

Comparatifs sur ce thème