Loading

NOM

       etext, edata, end - Fin des segments de programme

SYNOPSIS

       extern etext;
       extern edata;
       extern end;

       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âquelque part  près  de  &end
       (peut-être  au début de la page qui suit). Cependant, lâ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â.SH EXEMPLE
       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  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être      trouvées      à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été traduite par Alain Portal <aportal AT
       univ-montp2  DOT   fr>   en   2008,   et   mise   Ã   disposition   sur
       http://manpagesfr.free.fr/.

       Veuillez   signaler   toute   erreur   de  traduction  en  écrivant  Ã
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».