Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       etext, edata, end - Fin des segments de programme

SYNOPSIS

       extern etext;
       extern edata;
       extern end;

DESCRIPTION

       Les adresses de ces symboles indiquent la fin de différents segments du programme :

       etext  La première adresse après la fin du segment de texte (le code du programme).

       edata  La première adresse après la fin du segment des données initialisées.

       end    La première adresse après la fin du segment des données non initialisées (également
              connu comme le segment BSS).

CONFORMITÉ

       Bien que ces symboles aient été fournis depuis longtemps par la plupart des systèmes UNIX,
       ils ne sont pas standard ; utilisez les avec précaution.

NOTES

       Le  programme  doit  déclarer  explicitement ces symboles ; ils ne sont définis dans aucun
       fichier d'en-têtes.

       Sur certains systèmes, les noms de ces symboles  sont  précédé  d'un  tiret-bas :  _etext,
       _edata  et  _end.  Ces  symboles  sont également définis pour les programmes compilés sous
       Linux.

       Au début de l'exécution du programme, l’interruption de programme se trouve  quelque  part
       près  de  &end  (peut-être  au  début  de  la page qui suit). Cependant, l’interruption de
       programme se déplacera au fur et à mesure que de la mémoire est  allouée  avec  brk(2)  ou
       malloc(3).  Utilisez  sbrk(2)  avec  un  paramètre  nul pour trouver la valeur actuelle de
       l’interruption de programme.

EXEMPLES

       Lors de son exécution, le programme affiche les résultats suivants :

           $ ./a.out
           First address past:
               program text (etext)       0x8048568
               initialized data (edata)   0x804a01c
               uninitialized data (end)   0x804a024

   Source du programme

       #include <stdio.h>
       #include <stdlib.h>

       extern char etext, edata, end; /* The symbols must have some type,
                                          or "gcc -Wall" complains */

       int
       main(int argc, char *argv[])
       {
           printf("First address past:\n");
           printf("    program text (etext)      %10p\n", &etext);
           printf("    initialized data (edata)  %10p\n", &edata);
           printf("    uninitialized data (end)  %10p\n", &end);

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       objdump(1), readelf(1), sbrk(2), elf(5)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.