易截截图软件、单文件、免安装、纯绿色、仅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没有起作用,


请分析原因,谢谢!





相关问答:

c语言实现linux time相关函数 - C/C++ / C语言

现在需要在一个嵌入式系统中实现时间函数,编译器未提供time库函数,请问大家如何用c语言实现时间函数啊?
年月日时分秒 到 整数秒(从1970年开始) 之间的相关转换啊
类似mktime 和localtime的功能,谢谢
mktime ......

linux不能访问access - Java / Java EE

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

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

Java code:

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

如何开始学习 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. ......

linux下C++/C的问题,有大侠懂吗 - C/C++ / C++ 语言

在linux中,用c或c++,想在程序中使用系统文件/proc/loadavg,里面的实时数据,要怎么读取,有人会吗,我好纠结
严格“实时”有点困难。
可以通过watch命令来定频率获取数据刷新,
watch 'cat /proc/loadavg'
编 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号