Genellikle bazı verilerin genel, statik veya yığın üzerinde olması gerektiğine karar vermekte sorunum yok (Burada dinamik ayırma yok, bu yüzden yığın kullanımı yok). Ben aynı zamanda / A Böyle birkaç Q okudum bu bir ama sistem belleği ile karşılaştırıldığında çok büyük veri, büyük miktarda içerdiğinden sorum daha özeldir.
Geliştirmeye çalıştığım mevcut bir kod üzerinde çalışıyorum (tasarım, olası sorunlar, performanslar, vb.). Bu kod eski bir 8 bit MCU'da sadece 4KB RAM ile çalışır . Bu kodda neredeyse 1KB (evet, 4KB RAM sisteminde 1KB) bir dizi kullanımı ile karşı karşıyayım . Bu dizinin her baytı kullanılır, bu soru değildir. Sorun, bu dizinin bildirildiği dosyada statik bir dizi olmasıdır, bu nedenle yaşam döngüsü bir programla aynıdır (yani sonsuz olarak kabul edilebilir).
Ancak, kodu okuduktan sonra, bu dizinin sonsuz bir yaşam döngüsüne ihtiyaç duymadığını öğrendim, tamamen prosedürel bir şekilde inşa edildi ve ele alındı, bu yüzden sadece kullanıldığı işlevde bildirebilmeliyiz, bu şekilde yığında olacak ve bu nedenle bu 1KB RAM'i kurtaracağız.
Şimdi soru: Bu iyi bir fikir olur mu? Tasarım açısından, sonsuz / küresel bir yaşam döngüsüne ihtiyaç duymuyorsa, yığına aittir. Ama hey, bu 4KB'den 1KB , RAM'in% 25'ini böyle ayırmanın bir dezavantajı yok mu? (yığının% 50'si veya daha fazlası olabilir)
Birisi bu tür bir durumla biraz tecrübe paylaşabilir mi veya birisi bu diziyi yığına koymamak için geçerli bir neden düşünebilir mi? Teknik dezavantajları ve tasarım hakkındaki yorumları arıyorum.
Bilinçli olduğum tek şey, bu işleve girerken aslında 1KB yığın boşluğum olduğundan emin olmam gerekiyor. Belki ilgilenmem gereken tek şey budur, belki değil.