SORU
13 HAZİRAN 2013, PERŞEMBE


Neden memset üzerinde bzero kullanmak?

Bir sistem Programlama dersi aldım bu önceki dönem geçirdik uygulamak için bir temel istemci/sunucu C. ne Zaman başlatılıyor yapılar, gibi sock_addr_in veya char tamponlar (kullandığımız gönder veri ileri geri arasında istemci ve sunucu) Profesör talimat bize sadece kullanmak bzero memset başlatılamıyor. Hiç neden açıkladı, ve eğer bunun için geçerli bir sebebi varsa merak ediyorum?

Görüyorum burada: http://fdiv.net/2009/01/14/memset-vs-bzero-ultimate-showdown bzero daha verimli olması nedeniyle aslında bu sadece hiç olacak sıfırlama bellek, yani mecbur değil, herhangi bir ek kontrol memset olabilir. Yine de mutlaka ve mutlaka hafıza sıfırlama memset kullanmak için iyi bir neden gibi ama görünmüyor.

bzero itiraz kabul edilir ve ayrıca bir standart C fonksiyonu. Manuel, memset göre *bu nedenle 8* tercih. Neden hala memset bzero kullanmak isteyesin ki? Bu verimlilik artışı için, yoksa daha fazlası mı? Aynı şekilde, yeni programlar için fiili tercih yapmak bzero memset avantajları nelerdir?

CEVAP
13 HAZİRAN 2013, PERŞEMBE


memset bzero tercih için herhangi bir neden göremiyorum.

memset bzero asla C standart bir fonksiyonu olsa da standart bir C fonksiyonudur. Gerekçesi tam olarak aynı işlevselliği memset fonksiyonu kullanarak elde edebilirsiniz, çünkü muhtemelen.

Verimlilik konusunda, gcc gibi Derleyiciler 0 sabit algılandığında belirli bir uygulama için geçiş memset yerleşik uygulamaları kullanın. Yerleşiklere devre dışı bırakıldığında glibc için aynı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • funbro1

    funbro1

    11 Aralık 2007
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • The Brister

    The Brister

    10 ŞUBAT 2008