欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于mmap的一个有关问题(一) :(user space)

更新时间: 2014-05-16 18:31:12 责任编辑: Author_N6

 

关于mmap的一个问题(一) :(user space)


我按照一个     linux下c     语言函数     帮助测试如下     源程序,结果没有映射成功,大家帮看下    
 
#include <sys/types.h>    
#include <sys/stat.h>    
#include <fcntl.h>    
#include <unistd.h>    
#include <sys/mman.h>    
main()    
{    
int     fd;    
void     *start;    
struct     stat     sb;    
fd=open( "/etc/passwd ",O_RDONLY);     /*open     /etc/passwd     */    
printf( "fd     =     %d     \n ",     fd);    
fstat(fd,&sb);     /*get     file     size/    
start=mmap(NULL,sb.st_size,PROT_READ,MAP_PRIVATE,fd,0);    
if(start     ==     MAP_FAILED)     /*check     that     map     is     ok*/    
{    
      printf( "mmap     failed!!\n ");    
      return;    
}    
printf( "%s ",start);    
munma(start,sb.st_size);     /*unmap*/    
closed(fd);    
}    
 
 
平台是     redhat的         AS4,     编译通过,     运行输出如下:    
 
[root@112     test]#     gcc     mmap.c     -o     mmap                                                                                                                                                                                
[root@112     test]#     ./mmap        
fd     =     3        
mmap     failed!!    
[root@112     test]#    



--参考方法--
munma => munmap
closed => close

我不知道你参考的什么东西,不过参考的东西实在是太烂了。

还有 /etc/passwd 不是随便可以map的,需要权限。
--参考方法--
[root@112 test]# root权限还不够啊??
--参考方法--
你咋会 mmap 那个文件呢。。 好奇怪啊。。

--参考方法--
可以出来啊
你的这个很正常
你file /etc/passwd一下
我的是ASCI
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-16 18:31:12
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/666781/
本文WWW.DOC100.NET DOC100.NET版权所有。