【发布时间】:2011-05-09 03:41:21
【问题描述】:
我只是想在两个进程之间共享一个整数,但是内存段在程序 1 中初始化并在程序 4 中使用。这是程序 1 中的初始化:
shmid = shmget(key, sizeof(int*), 0666 | IPC_CREAT);
int *data = (int *)shmat(shmid, (void*)0,0);
在这里,我收到“从不同大小的整数转换为指针”的警告。啊。
简单,我假设,但我是 IPC 的一个大菜鸟。以及 c 中的许多其他内容......
然后我将它传递给另一个程序:
snprintf(shmarg, sizeof(shmarg), "%n", data);
pid_t pid3 = run_cmd4("/home/tropix/hw11-4", shmarg, semarg, pipe_from_p2_2, pipe_to_p5_2);
不知道如何在另一边访问它。如何在程序 4 中取回 int?
【问题讨论】:
标签: c ipc shared-memory