c - 未知类型名称 ‘caddr_t’ 错误

标签 c linux variables

我正在尝试使用设置“共享”内存位置

caddr_t mmap_ptr;

但是我收到一个错误。有什么帮助吗?谢谢!

还有

mmap_ptr = mmap((caddr_t) 0,   /* Memory Location, 0 lets O/S choose */
    MAX_BUFFER_SIZE,/* How many bytes to mmap */
    PROT_READ | PROT_WRITE, /* Read and write permissions */
    MAP_SHARED,    /* Accessible by another process */
    fid,           /* which file is associated with mmap */
    (off_t) 0);    /* Offset in page frame */

最佳答案

caddr_t 是一种 BSD 主义,而且是一个古老的主义。在 Linux(和 POSIX)下,mmap返回一个空指针。

#include <sys/mman.h>
void *mmap (void *addr,
            size_t length,
            int prot,
            int flags,
            int fd,
            off_t offset);
int munmap (void *addr,
            size_t length);

关于c - 未知类型名称 ‘caddr_t’ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089299/

相关文章:

php - 在没有 root 的情况下安装 cmark PECL 模块

javascript - 通过JavaScript将变量从一个html页面传递到另一个页面

c - 找到一条到达叶子的路径等于sum(不是BST)

c - 两个结构的 TCP 校验和

Python 和异步 : closed named pipe always available for reading

php - 在php中初始化一个类时,如何将变量传递给该类以在其函数中使用?

c++ - 为什么 c++ 将大数四舍五入到 ceil 并将小数四舍五入到地板

python - msgpack 能否提供更好的性能和与 python 的 struct.pack() 相同的功能?

C中链表的冗余计数

linux - 如何配置构建与加载内核模块相同的内核模块