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

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • Orson Wang

    Orson Wang

    28 EKİM 2006