易截截图软件、单文件、免安装、纯绿色、仅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下C语言开发oracle的问题。

两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库 
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......

linux不能访问access - Java / Java EE

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

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

Java code:

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

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

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

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号