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

  • lissaandbeauty

    lissaandbeau

    24 Aralık 2011
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011