Tag: sysv ipc

什么阻止我阅读/写入比共享内存的大小更远? (System V IPC)

我在做的是: shmget(shm_key, shm_size, 0666 | IPC_CREAT); (当然还附上) 我已经将大小设置为12字节但是当我尝试类似的东西时: sprintf(shm_ptr, “Imagine about 200-300 characters here\n”); 它似乎正常工作没有问题或警告,并检查,我试图从一个完全不同的过程(我分叉和执行第一个)读取它,当然 printf(“%s”, shm_ptr); 打印该段中的消息,该消息应为12字节。 System V IPC是否应该是这样的,并且该问题没有解决方法? 如果是这样,为什么要设置一个尺寸? 感谢您提前的时间和答案。