小编nik*_*kan的帖子

从Java中使用shmget()访问用C创建的共享内存

我有一个C应用程序,其中有一个变量,其值不断变化。随着它的更改,我需要在Java应用程序中读取此值。

我已经在我的C程序中使用“ shmget()”创建了一个共享内存段,因此我具有访问共享内存的密钥。

如何使用Java代码中的密钥访问此共享内存?

C代码如下

char myc;
int myshmid;
key_t mykey;
char *myshm,*mys;

int main(int argc, char *argv[], char *envp[])
{
  mykey=5678;
  if((myshmid=shmget(mykey,SHMSZ,IPC_CREAT | 0666))<0)
  {
    perror("shmget");
    exit(1);
  }

  if((myshm=shmat(myshmid,NULL,0))==(char *) -1)
  {
    perror("shmat");
    exit(1);
  }

  mys=myshm;
Run Code Online (Sandbox Code Playgroud)

c java ipc

3
推荐指数
1
解决办法
734
查看次数

标签 统计

c ×1

ipc ×1

java ×1