Can somebody please tell 开发者_JAVA百科me:
- What is
caddr_t
? - When is it used ?
- How it is different from
void*
? - When to use
void*
and when to usecaddr_t
?
Thanks in advance.
caddr_t
is a legacy BSD type associated with some low level calls like mmap
, and it should never be used in modern code. It was rejected by the POSIX standard. The standardized mmap
uses void *
.
caddr_t
was used as a pointer to a core address. I used it in SVR4 when I needed to access kernel structures from user space (having used mmap to access /dev/kmem
). Even when "/proc
" existed, the ps command still used mmap of the kernel to start walking the process table. As everybody states it was superseded by void *.
精彩评论