刚开始学习linux编程,一些基本问题不太懂,不要笑话。
我看了一下mmap的函数原形 void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
其它的都还很好理解,就port和flags这两个就有点问题了。
prot命名显示的是int型,怎么在实际应用时port用的是PORT_RDONLY什么的。我觉得这个prot跟linux文件的权限好像差不多。于是在例子中按照文件的权限把port参数改成了{0-7}数字模式,一编译,居然还通过了,貌似执行也没什么问题。我想知道这种做法是不是正确的。
还有flag,显示的也是int型,是不是也可以用数字来代替呢?
最后在编译的时候mmap必须一定要root的权限,我看了一篇文章说只要flag选某个值,就可以用普通用户权限编译,是不是这样呢?
zcgsrei 于 2009-01-19 12:49:03发表:
支持自己的吧
我也不摘掉怎么评论