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

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • Tome Rodrigo

    Tome Rodrigo

    9 Temmuz 2006