易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 内存共享问题 - Linux/Unix社区 / 程序开发区

有两个进程, A 和 B 用nmap实现共享, 但是结果和想象的不一样

=================================================
A 进程代码

  int fd;  
  char *prt;  
  char *msg="My name is Foo!";  
  fd=open("sharefile",O_RDWR|O_CREAT,00777);  
  write(fd,msg,strlen(msg)+1);
  prt=(char*) mmap(NULL,strlen(msg)+1,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
  close(fd);  
   
  memcpy(prt,msg,strlen(msg)+1);  
  printf("%s\n",prt);  


  sleep(10); /*等待b去修改共享内存内容。*/  
  printf("%s",prt);  
   
  munmap(prt,strlen(msg)+1);


=====================================================
// B 进程代码

int fd; 
char *prt;
char *msg="My name is Bar!";
fd=open("sharefile",O_RDWR,00777);
prt=(char*) mmap(NULL,strlen(msg)+1,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
close(fd);
memcpy(prt,msg,strlen(msg)+1);
munmap(prt,strlen(msg));
=============================================

在一个控制台开启进程A 在另一个控制台开启B

A显示结果如下, 和想象的不一样
My name is Foo!
My name is Foo!

进程B 的运行对A没有起作用,


请分析原因,谢谢!





相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

linux不能访问access - Java / Java EE

rt,我试了网上直连Acces数据库的方法,windows下没有问题,但是在linux下不行,谁能给点提示?谢谢
你怎么连的?

Acces数据库..
你怎么练的呢?

Java code:

static String DBDRIVER = "sun.jd ......

linux 定时重启服务,在线等 - PHP / 基础编程

我的项目所在的环境是php+apache+linux
现我重启服务是 service httpd restart 
现我想定时重启此项服务(定在每天下午4点) 怎么实现呀,多谢
crontab
* 16 * * * service httpd restart

学习 + d ......

QT linux open - 移动平台 / Qt开发

请问各位,我现在需要在QT下调用linux下的open函数,请问各位大侠怎么写呀?
因为我需要open函数返回的fd指针
include 相应的头文件,QLibrary加载相应的库,或者静态连接进去。
然后typdef定义函数类型,然后inv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号