Junior — Middle
Yaddaşda müəyyən bir obyektin yerləşdirilib yerləşdirilməməsinə kim qərar verir?
sobes.tech Süni İntellekt
AI-dan cavab
Go (Golang) daxilində obyektlərin yaddaşda yerləşdirilməsi kompilyator və işləmə vaxtı tərəfindən müəyyən edilir.
- Kompilyator dəyişənin harada yerləşdiriləcəyinə qərar verir: yığında və ya yığın xaricində, onun sahəsi və həyat dövrü analizi (qaçış analizi) əsasında.
- Əgər dəyişən funksiyadan «qaçırsa» (məsələn, geri qaytarılır və ya funksiyadan çıxışdan sonra istifadə olunur), o, yığında yerləşdirilir.
- Əks halda, o, daha sürətli olduğu üçün yığında yerləşdirilir.
Beləliklə, obyektin yaddaşda yerləşdirilməsi qərarı kompilyator tərəfindən tərtib mərhələsində qəbul edilir və işləmə vaxtı yığında obyektlər üçün ayırma və tullantıların toplanmasını idarə edir.