calloc()
'un malloc
'a ve ardından memset
'a tercih edilip edilmediğini merak ediyordum. Bu ikinci bellek ayırma ve başlatma en yaygın yolu olarak görünüyor.Malloc() ve memset() yerine calloc() kullanmanın herhangi bir avantajı var mı?
A github code search, birçok calloc
test ve uygulamasına katlanmakla birlikte, ilk sayfa numarasında hiçbir kod aslında calloc
kullanmamaktadır.
calloc
numaralı telefonu kullanan veya öneren herhangi bir proje/kuruluş hakkında bilgi sahibi olan ve önerdiği koşullar hangisi?
, burada bazı şimdiye kadar sahip düşünceler ortaya çıkıyor açıklanmıştır:
calloc(n, size)
malloc(n * size)
malloc ve memset birleştirerek ile mümkündür taşma önleyebilircalloc, sıfırlanmış olduğu bilinen bir sayfa isteme şansı verir.
bir dezavantaj
birleşik adımlar malloc'dan etrafında diğer sarma engelleyebilir callociçin.
Hiç kimsenin onu kullanması konusunda hiç bir şey bilmiyordu ve ben de onun varlığından haberdar olmasına rağmen hiç kullanmadım. Nedenini bilmiyorum ama sadece C. – Dave
gibi hissetmiyor. 'Malloc()' ve onu takip et 'memset() '' calloc() 'dan daha yavaş olması garantilidir. –
GitHub'u "malloc" için ararsanız, kullanımdan önce de uygulama ve test kodunu bulabilirsiniz. –