Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       etext, edata, end - sfârșitul segmentelor de program

REZUMAT

       extern etext;
       extern edata;
       extern end;

DESCRIERE

       Adresele acestor simboluri indică sfârșitul diferitelor segmente de program:

       etext  Aceasta este prima adresă după sfârșitul segmentului de text (codul programului).

       edata  Aceasta este prima adresă după sfârșitul segmentului de date inițializat.

       end    Aceasta  este  prima  adresă  după  sfârșitul  segmentului  de  date neinițializate
              (cunoscut și sub numele de segment BSS).

STANDARDE

       Deși aceste simboluri sunt furnizate de mult timp în majoritatea sistemelor UNIX,  ele  nu
       sunt standardizate; utilizați-le cu prudență.

NOTE

       Programul  trebuie  să  declare  în mod explicit aceste simboluri; ele nu sunt definite în
       niciun fișier antet.

       În unele sisteme, numele acestor simboluri sunt  precedate  de  caractere  de  subliniere,
       astfel:  _etext,  _edata  și  _end.   Aceste  simboluri sunt, de asemenea, definite pentru
       programele compilate în Linux.

       La începutul  execuției  programului,  întreruperea  programului  se  va  afla  undeva  în
       apropierea   lui   &end  (poate  la  începutul  paginii  următoare).   Cu  toate  acestea,
       întreruperea se va schimba pe măsură ce memoria este alocată prin  brk(2)  sau  malloc(3).
       Utilizați  sbrk(2)  cu  un  argument de zero pentru a afla valoarea curentă a întreruperii
       programului.

EXEMPLE

       Atunci când este rulat, programul de mai jos produce un rezultat precum cel care urmează:

           $ ./a.out
           Prima adresă după:
               textul programului (etext)    0x8048568
               datele inițializate (edata)   0x804a01c
               datele neinițializate (end)   0x804a024

   Sursa programului

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

       extern char etext, edata, end; /* Simbolurile trebuie să fie de un anumit tip,
                                         sau «gcc -Wall» se va plânge */

       int
       main(void)
       {
           printf("Prima adresă după:\n");
           printf("    textul programului (etext)   %10p\n", &etext);
           printf("    datele inițializate (edata)  %10p\n", &edata);
           printf("    datele neinițializate (end)  %10p\n", &end);

           exit(EXIT_SUCCESS);
       }

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea în limba  română  a  acestui  manual  a  fost  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  sau  o  versiune  ulterioară  cu
       privire la condiții privind drepturile de autor.  NU se asumă Nicio RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui  manual,  vă  rugăm să trimiteți un e-mail la
       ⟨translation-team-ro@lists.sourceforge.net⟩.