C Extern depolama sınıfı

ilkerDeveci

Centipat
Katılım
3 Eylül 2019
Mesajlar
43
Merhabalar. PIC programlama çalışıyorum bu aralar ve aklıma bir soru takıldı. Hangi kaynağa bakarsam bakayım, global değişkenler ve fonksyonlar extern depolama sınıfındadırlar, program çalıştığı sürece hafızada kalırlar ve ana depolama biriminde depolanırlar cümleleri ile karşılaşıyorum.
Global bir değişkenden bahsediyorsak bu yazılanların hepsi doğrudur, bir itirazım yok. Fakat konu fonksyonlara gelince birkaç çelişki seziyorum. Birincisi fonksyon ana depolama biriminde(ana depolama birimi=RAM bellek) depolanmaz. Fonksyon bloğunun içeridği C diline ait her bir komutun bir assembly karşılığı vardır. Her bir assembly komutun ise makine dilinde binary karşılığı vardır. Ve bu binary kodlar, ana depolama biriminde depolanmazlar. Program hafızasında depolanırlar(mesela eprom bellekte). Burada bir çelişki var. Hadi bahsedilenin fonksyonun kendisi değilde parametreleri olduğunu varsayarsak, fonksyon parametreleri Auto (veya tercihen register) depolama sınıfında kaydedilir. Asla extern bir depolama sınıfında olamazlar.
İkinci bir ihtimal olarak, fonksyonun döndürdüğü değerden bahsediyor olabilirler. O zaman bu açıklamalar kabul edilebilir. Evet fonksyonun döndürdüğü değer, extern depolama sınıfındadır ve ana depolama biriminde depolanır.
PIC konusunda profesyonel arkadaşlar duruma bir el atarsa sevinirim.
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı