易截截图软件、单文件、免安装、纯绿色、仅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桌面进不去了,怎么办………………

在自己的电脑上安装了ubuntu 就是想玩一下3D桌面,于是下载了 
compizconfig-settings-manager 
emerald 
simple-ccsm 
fusion 
这些东西,安装完之后,我在电脑里点击了emerald ......

linux shutdown - Linux/Unix社区 / UNIX文化

大家好,我现在正在学习linux系统,碰到点问题想请问大家,希望前辈能够指教。
在linux中为什么我用shutdown -r now 命令来重启系统没有用呢,而reboot命令就可以。
另外我也试过#shutdown -r now 和
shutdow等命 ......

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

请问各位,我现在需要在QT下调用linux下的open函数,请问各位大侠怎么写呀?
因为我需要open函数返回的fd指针
include 相应的头文件,QLibrary加载相应的库,或者静态连接进去。
然后typdef定义函数类型,然后inv ......

如何开始学习 Linux 内核 [转] - C/C++ / 非技术区

> Message: 1
> Date: Sat, 24 Apr 2010 11:31:02 +1000
> from: Crossfire <xfire@xware.cx>
> Subject: Re: [coders] New to Kernel programming and device drivers
> To: coders@slug. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号