SORU
19 HAZİRAN 2009, Cuma


Neden alloca kullanımı() olarak iyi bir uygulama mı?

alloca() Yığın bellek yerine malloc() küçük harf yığını ayırır. Rutin döndüğümde yani, bellek serbest. Yani, aslında bu dinamik olarak ayrılan bellek serbest bırakarak bu sorunu çözer. Belleği boşaltma malloc() büyük bir baş ağrısı olduğunu ve eğer bir şekilde kaçırdıysanız ile ayrılan her türlü hafıza sorunlarına yol açar.

Neden alloca() kullanımı yukarıdaki özelliklere rağmen önerilmez?

CEVAP
19 HAZİRAN 2009, Cuma


Cevap burada man Sayfa (en azından Linux üzerinde)

DÖNÜŞ DEĞERİ Bu alloca() işlevi başında bir işaretçi alan ayrılmış. Eğer ayırma nedenleri yığın taşması, programı, davranış tanımsızdır.

Asla kullanılmaması gerektiğini söylemek değil. Üzerinde çalıştığım ÖSS projelerinden biri yoğun, (alloca'ıng büyük değerler), iyi. kötüye kullandığın sürece kullanır Geçmiş geçtikten sonra "birkaç yüz bayt" işareti, malloc ve arkadaşları, bunun yerine kullanmak için zaman. Hala ayırma hatası alabilirsiniz, ama en azından sadece yığın üfleme yerine başarısızlığı ile ilgili bir işaret olacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • Damian Winter

    Damian Winte

    27 ŞUBAT 2007
  • Techmoan

    Techmoan

    31 Mayıs 2009