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

  • 99being99

    99being99

    2 EYLÜL 2008
  • ThePointblank

    ThePointblan

    18 Aralık 2006
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009