This shows you the differences between two versions of the page.
cpl-atm:laboratoare:laborator5 [2013/11/13 16:35] laura.vasilescu |
cpl-atm:laboratoare:laborator5 [2013/11/13 17:26] (current) laura.vasilescu |
||
---|---|---|---|
Line 2: | Line 2: | ||
Acest laborator are ca scop înțelegerea în amănunt a felului în care sunt reprezentate datele în limbajul C. | Acest laborator are ca scop înțelegerea în amănunt a felului în care sunt reprezentate datele în limbajul C. | ||
+ | |||
+ | <note> | ||
+ | Exemplificarea este făcută pentru un sistem de operare Linux, pe 32 de biți. | ||
+ | |||
+ | Dacă sistemul este pe 64 de biți, este recomantă instalarea pachetelor ''gcc-multilib'' și ''ia32-libs''. Pentru compilarea cu ''gcc'' trebuie adăugat suplimentar și flag-ul ''-m32''. | ||
+ | </note> | ||
+ | |||
+ | ===== Spațiul de adresă al unui proces ====== | ||
+ | |||
+ | Spațiul de adresă al unui proces este reprezentat de memoria virtuală pe care o poate accesa acesta. Spre exemplu, pe sisteme de 32 de biți, procesele au la dispoziție un spațiul virtual de $2^{32}$ octeți, adică $4GB$. | ||
+ | |||
+ | === Zona de cod === | ||
+ | |||
+ | |||
+ | === Zona de date === | ||
+ | |||
+ | |||
+ | |||
+ | === Stiva === | ||
+ | |||
+ | |||
+ | |||
+ | === Heap === | ||
+ | |||
+ | |||
+ | ===== Dimensiunea tipurilor de date ===== | ||
+ | |||
+ | ==== Tipuri de date standard ==== | ||
+ | |||
+ | == Little Endian == | ||
+ | == Big Endian == | ||
+ | |||
+ | ==== Structuri de date ==== | ||
+ | |||
+ | ==== Vectori vs. array-uri ==== | ||
+ | |||
+ | ===== Aritmetică cu pointeri ===== |