在C中创建共享内存

时间:2017-05-10 16:59:30

标签: c linux posix shared-memory

我在C中创建了以下方法来创建共享内存段来存储计数器值。但我无法在此段中存储数据。当我尝试打印计数器的值时,它会给我一个垃圾值。这段代码有什么问题?

=SUMPRODUCT(INDEX($B:$I,MATCH(LEFT($P2) & "-" &MID($P2,2,LEN($P2)) & "*",$A:$A,0),0)*(MONTH($B$11:$I$11) = MONTH(Q$1)))

在main方法中调用此方法如下。

CreateCounter()
{
  key = ftok(".",'B');
  shmCntid = shmget(key,COUNTER_SIZE,IPC_CREAT|0666);

  if(shmCntid == -1 )
  {
    perror("shmget");
    exit(1);
  }

  else
  {
    printf("Creating new Sahred memory sement\n");
    cntPtr = shmat(shmCntid,0,0);
    if(cntPtr == -1 )
    {
      perror("shmat");
      exit(1);
    }
  }
}

0 个答案:

没有答案