开发者

What is the significance of caddr_t and when is it used?

Can somebody please tell 开发者_JAVA百科me:

  1. What is caddr_t ?
  2. When is it used ?
  3. How it is different from void* ?
  4. When to use void* and when to use caddr_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 *.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜