[so] [Tech Q] scope & linkage

Daniel Baluta daniel.baluta at gmail.com
Mon Feb 21 22:52:14 EET 2011


>> int f(int a, int b)
>> {
>>    int prod;
>>    static int sum;
>>
>>    ...
> Ambele au "block scope" sau "function scope" (despre care vorbea si
> Catalin), doar ca prod se aloca pe stiva, iar sum pe heap, tocmai pentru a
> evita pop-ul facut stivei la iesirea din functie si pentru a pastra valorile
> intre apeluri.

Ai dreptate pentru prod. Pentru sum însă zona unde este alocat nu se
cheamă heap.

Heap-ul este folosit pentru memoria alocată dinamic. Variabila sum, se
va ține într-o
secțiune specială denumită .data. După cum o să vedem în laboratorul
[0x04], zona .data
mai conține și variabilele globale inițializate existente în program.


thanks,
Daniel.

[0x04] http://elf.cs.pub.ro/so/wiki/laboratoare/laborator-04#zone-de-date


More information about the so mailing list