免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1076 | 回复: 2
打印 上一主题 下一主题

在redhat 9.0下编译这个程序为什么通过不了? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-30 16:54 |只看该作者 |倒序浏览

  1. /*-------------map_normalfile1.c-----------*/
  2. #include <sys/mman.h>;
  3. #include <sys/types.h>;
  4. #include <fcntl.h>;
  5. #include <unistd.h>;
  6. typedef struct{
  7.         char name[4];
  8.         int  age;
  9. }people;

  10. main(int argc, char** argv) // map a normal file as shared mem:
  11. {
  12.         int fd,i;
  13.         people *p_map;
  14.         char temp;
  15.        
  16.         fd=open(argv[1],O_CREAT|O_RDWR|O_TRUNC,00777);
  17.         lseek(fd,sizeof(people)*5-1,SEEK_SET);
  18.         write(fd,"",1);
  19.        
  20.         p_map = (people*) mmap( NULL,sizeof(people)*10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0 );
  21.         close( fd );
  22.         temp = 'a';
  23.         for(i=0; i<10; i++)
  24.         {
  25.                 temp += 1;
  26.                 memcpy( ( *(p_map+i) ).name, &temp,2 );
  27.                 ( *(p_map+i) ).age = 20+i;
  28.         }
  29.         printf(" initialize over \n ");
  30.         sleep(10);

  31.         munmap( p_map, sizeof(people)*10 );
  32.         printf( "umap ok \n" );
  33. }
复制代码

提示:file1.c: In function `main':
file1.c:42: request for member `sleep' in something not a structure or union

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-05-30 17:02 |只看该作者

在redhat 9.0下编译这个程序为什么通过不了?

printf(" initialize over \n "

后面的 ; 好粗..

论坛徽章:
0
3 [报告]
发表于 2005-05-30 17:12 |只看该作者

在redhat 9.0下编译这个程序为什么通过不了?

谢了,不好意思 我是初学。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP