当前位置:  技术问答>linux和unix

关于共享内存的一个小程序

    来源: 互联网  发布时间:2017-01-01

    本文导语:     我在网上没找到这方面的程序,但是手头有道题:    内容:reader和writer两个进程通过共享内存交换数据。writer从标准输入读入字符串写入共享内存,reader把共享内存里的字符串打印到标准输出。          ...

   我在网上没找到这方面的程序,但是手头有道题:
   内容:reader和writer两个进程通过共享内存交换数据。writer从标准输入读入字符串写入共享内存,reader把共享内存里的字符串打印到标准输出。
             reader和writer用信号实现同步
   思路:1. reader和writer用信号实现同步前要知道对方的进程号,利用共享内存保存
              2.reader和writer运行顺序不确定,约定先运行的进程创建共享内存并初始化
   
     下面是我自己编的,使用ftok生成一个key,然后shmget,shmat,估计大家都没心思看,希望有心人出现,会有另外两个帖子送分。第一次编这个。
问题是最下面红色的部分出错,然后帮我看看别的地方还有哪里不对。

#include
#include
#include
#include
#include
#include
#include
#include


#define SHM_SIZE 1024

key_t MYKEY;

void dealread();

void main()
{
  pid_t p1,p2;
  int shmid;
  char *shmptr;  
  MYKEY=ftok(".",1);
  printf("%dn",MYKEY);

  if((p1=fork())==-1)
  {
    printf("fork errorn");
    exit(0);
  }
  else if(p1==0)//write
  {
     if((shmid=shmget(MYKEY,SHM_SIZE,(IPC_CREAT|0666)))

    
 
 

您可能感兴趣的文章:

  • Linux 共享内存介绍及实现代码
  • 多个进程对系统V共享内存进行读写,怎样实现对共享内存部分进行加解锁?
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 程序需要共享内存相当大,但是系统的内存有限
  • 在linux下能不能创建一个堆,然后给堆指定一块共享内存,然后各个程序用此堆来new对象来共享?
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • 不同用户user之间如何访问共享内存?
  • Unix/linux下如何监测共享内存的使用情况
  • 共享内存问题,高手们请进!!!
  • 判断共享内存中是否有数据
  • 【求助】linux下什么是共享内存,怎么查看。
  • linux下共享内存的覆盖或清空
  • 进程同时访问两个大共享内存,会失败?
  • 共享内存和信号灯同步问题
  • 为什么不将数据直接写入共享内存?
  • aix 的开个共享内存的问题
  • linux下共享内存 函数shmat()的使用!
  • 请详细介绍一下共享内存机制~~
  • 初学者关于共享内存的几个问题-->
  • 文件描述符的限制?(共享内存)
  • 在语言中,什么是共享内存,怎样使用,举例?
  • CGI程序无法访问本机某个程序创建的共享内存〔求教〕
  • Windows的程序如何访问LINUX共享目录下的文件?
  • sco unixware7.1.3 用telnet登录上来后,运行本用户下的一个程序,这个程序就做了共享内存的事
  • 如何使用kdevelop创建动态共享库程序,请高手指点
  • linux程序如何判断一个网络共享文件是否更新
  • 傻傻得问,如果两个设备共享一个中断线,中断响应程序怎么区分?
  • 强烈建议大家将写得好的好玩的java程序共享!
  • 急,在线等候,编译完运行程序出现找不到共享库的问题!
  • linux下,要实现两个程序共享同一个串口,该怎么设置参数?谢谢
  • 怎么在linux下边使用c++/或者c写出共享文件的程序??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • NFS共享作业时, 在客户端只可以看到服务器端的共享目录,而看不到共享目录下的内容.?
  • 如何共享 共享库(*.so)中的变量?
  • 局域网共享问题:win2000的机器看不到linux机器的共享目录?
  • 用samba共享其它机子访问Linux共享时,机子可以进入,但要打开共享文件夹时提示“无法访问...找不到网络名。”这是什么原因呢?
  • 局域网中的红旗2.0如何共享到win98服务器的联接共享?
  • 局域网共享问题:win2000的机器看不到linux机器的共享目录?解决立即给分
  • 几个servlet共享一些数据 如我从数据库里读出一些重要的设置存入vector 让几个servlet共享 怎么做到?先谢
  • 求助linux普通用户下内存共享(系统V共享)大家进来看看啊!急!!
  • 关于中断共享的问题:ADC 与触摸屏的中断共享
  • 无法访问samba服务器中的共享文件夹
  • XP下设置与linux 本地连接的Internet共享问题
  • 我想知道LINUX如何与WIN98,WIN2000共享资源?
  • 多进程共享变量
  • 请教共享库运行时加载的问题
  • 创建共享失败。
  • 怎么我设置好vmwaretool后,还不能共享文件
  • 嵌入式linux下线程通信可以用共享文件法吗?
  • Gnome个人文件共享怎么用?
  • 当别人用FTP协议访问我的LINUX时,要显示一些共享文件夹。
  • Unix下如何在两个进程之间共享一块大内存??????


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3