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

  • DavidParody

    DavidParody

    17 EKİM 2009
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • olinerd

    olinerd

    23 AĞUSTOS 2007