2011-06-17 21 views
17

Biri bana söyleyebilir misiniz:Caddr_t'nin önemi nedir ve ne zaman kullanılır?

caddr_t nedir
  1. ?
  2. Ne zaman kullanılır?
  3. void*'dan farkı nedir?
  4. void* ne zaman kullanılır ve caddr_t ne zaman kullanılır?

Şimdiden teşekkürler.

+1

"döküm kaydeder"? :) En azından Linux x64'de, sonunda 'char *' (ilk önce '__kernel_caddr_t') geçiyor. Bu bağlamda * opak tip * olarak çalışır. –

+0

Ne dediğinizden net değil :-("Nasıl bir cast kaydeder" ????? Neden sonra doğrudan char * kullanmıyor. Ben bu şekilde olduğunu düşünmüyorum.Gerçekten bu bellek ayırma ile ilgili kullanılan gördüm Özellikle mmap kullanarak – kingsmasher1

+0

http://computer-programming-forum.com/47-c-language/f3a1576887d6652f.htm – gavv

cevap

16

caddr_tmmap gibi düşük düzeyli aramalarla ilişkili bir eski BSD türüdür ve asla modern kodda kullanılmamalıdır. POSIX standardı tarafından reddedildi. Standartlaştırılmış mmap, void * kullanır.

+0

Şunu söylediniz: "caddr_t, mmap gibi bazı düşük düzeyli çağrılarla ilişkili eski bir BSD türüdür" eşzamanlı olarak 'void *' de varolduğunun nedenini belirtmek için kaymış. – kingsmasher1

+4

Muhtemelen bu iddia için bir referansım olmamasına rağmen, void * 'den önce yaratılmıştı, her halükârda şimdi alakasız. Herhangi bir modern standardın parçası değil, yeni kodda kullanılmamalı ve eski kod ile düzeltilmeli. –

+0

Cevabınız için teşekkür ederiz, sizin noktanızı anlıyorum, ama lütfen bir link/referans yazabilirsiniz: "caddr_t eskimiş ve yerine boş * olmalı sed "? – kingsmasher1

İlgili konular