(void*)mmap()

匿名 (未验证) 提交于 2019-12-03 00:32:02

映射函数mmap 的定义是void* 型

void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);

但是大多数调用时候,要求其是有返回值的。例如定义一个unsigned char *buf

再将buf 作为mmap 函数的返回值。

若直接 使用buf = mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);则会报错

然后可以讲空指针性强转:

unsigned char *buf = (unsigned char*)mmap(0,creq.size,PROT_READ | PROT_WRITE, MAP_SHARED,newLease,mreq.offset);

在mmap函数前也加上(unsigned char*)则可编译通过
转载请标明出处:(void*)mmap()
文章来源: (void*)mmap()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!