SORU
6 ŞUBAT 2010, CUMARTESİ


C bir uygulama çıktığınızda, malloc-ed bellek otomatik olarak serbest mi?

Hadi aşağıdaki C kodu var:

int main () {
  int *p = malloc(10 * sizeof *p);
  *p = 42;
  return 0;  //Exiting without freeing the allocated memory
}

Ben derlemek ve yürütmek C programı, yani sonra ayrılırken bir yerde bellek, hafıza tahsis ayrılmış (yani temelde ele alan) sonra uygulamadan çıkın ve İşlemi sonlandırır?

CEVAP
6 ŞUBAT 2010, CUMARTESİ


İşletim sistemine bağlıdır. (Büyük) modern işletim sistemlerinin çoğu anı sona erdiğinde program tarafından serbest değil özgür irade.

Bu güvenmek kötü bir uygulamadır ve daha iyi açıkça ücretsiz. Konu kodunuzu kötü görünüyor değil. Bir büyük, uzun süren bir küçük program entegre etmek istiyorum karar verebilir. Sonra bir süre sonra saat bellek sızıntıları izini harcamak zorunda.
Bir işletim sisteminin bir özelliği dayanarak da kodu daha taşınabilir hale getirir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • max2sims2

    max2sims2

    19 Kasım 2008
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008