0
我使用静态消息大小要IPC消息队列:消息队列 - 动态消息大小 - Visual C
/* header */
typedef struct{
long type;
char data[BUFFER_SIZE];
}msg;
/* main */
msg m;
msgrcv(queueid, &m, BUFFER_SIZE, 0, 0);
但我需要使用数据的动态大小。就像
// header
typedef struct{
long type;
char *data;
}msg;
// main
msg m;
m.data = (char*) malloc(BUFFER_SIZE);
msgrcv(queueid, &m, BUFFER_SIZE, 0, 0);
但是当我使用它,它不会读取队列中的任何内容,并阻止进程。
感谢您的时间,和我的英文不好道歉......
@Mat:编辑澄清 – Erik 2011-04-15 13:14:12
谢谢。实际上这是一个非常有趣的技术。 – Mat 2011-04-15 13:17:02
@Mat:很常见,特别是在Windows API中。对于这些消息队列也是有意义的。 – Erik 2011-04-15 13:18:00