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

  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009
  • wolfys you tube

    wolfys you t

    22 Kasım 2006