Professional Documents
Culture Documents
Stack Nedir
Stack Nedir
verilerin geçici olarak tutulduğu yerdir. Çoğu veri eğer programda kalıcı değil ise burada tutulur.
Oluşturulan fonksiyondaki değişken “a” en yüksek stack adresine ( en yüksek stack adresi stack ın ilk
adresidir ) eklenir ve yeni bir değişken gelinceye kadar adresi odur.
Fonksiyon yeni bir değişken atadığı zaman yukarıdaki işlem her bir değişken için tekrarlanır. Ve
böylelikle bir yığın ( Stack ) oluşur. Ve işlemcideki stack pointer her zaman en son eklenen adresi
gösterir. Yani şuanda int c nin bulunduğu adres olan 0xFFFF36 yı gösterir.
int c
0XFFFF40 int b
Bir işlemcide Stack pointer (SP) her zaman en son eklenen stack adresini gösterir.
IAR Workbench de stack in hafızası Project >> Options >> Linker tıklayarak daha sonra “ovemide
default “ sekmesi aktif hale getirilip Edit >> Stack/Heap Sizes tıklanarak değiştirilebilinir.
static komutu ise, eğerki fonksiyon tarafından bir değişken oluşturmuş isek ve onun
kaybolmasını istemiyorsak yani kalıcı bellekte yer almasını istediğimiz zamanlarda
kullanabileceğimiz bir keyword dür.