caddr_t的意义何在?何时使用?

时间:2011-06-17 04:59:54

标签: c linux memory-management

有人可以告诉我:

  1. 什么是caddr_t
  2. 何时使用?
  3. void*的区别如何?
  4. 何时使用void*以及何时使用caddr_t
  5. 提前致谢。

2 个答案:

答案 0 :(得分:16)

caddr_t是与mmap等低级别调用相关联的传统BSD类型,它永远不应在现代代码中使用。它被POSIX标准拒绝了。标准化mmap使用void *

答案 1 :(得分:0)

caddr_t用作指向核心地址的指针。当我需要从用户空间访问内核结构(使用mmap访问/dev/kmem)时,我在SVR4中使用了它。即使存在“ /proc时,ps命令仍然使用内核的mmap来开始遍历进程表。就像每个人都说的那样,它已被void *取代。