【发布时间】:2010-01-29 09:25:58
【问题描述】:
当使用 msgsnd 时,手册页中提到的结构是
struct mymsg {
long mtype; /* message type */
char mtext[1]; /* body of message */
};
但是如果你像这样使用它
func(char *array, int sizeofarray)
{
struct mymsg {
long mtype; /* message type */
char *ptr; /* body of message */
};
msgq.mtype = 1;
msgq.ptr = array;
msgsnd(msqid, &msgq, sizeofarray, 0);
}
将ptr分配给某个本地数组[200](数组可以作为函数中的参数获取),另一端收到的消息是垃圾邮件。这是为什么呢?
【问题讨论】:
标签: linux message-queue