使用mq_send发送int

use*_*169 5 queue posix

以下帖子中的解决方案对我不起作用.我收到错误消息"消息太长".可能是什么问题? 如何在linux中使用POSIX API发送带消息队列的整数?

如果我是正确的,pid_t则a 被定义为int.我做了以下事情:

struct mq_attr attr;
attr.mq_flags = 0;
attr.mq_maxmsg = 1000;
attr.mq_msgsize = sizeof(pid_t);

mqd_t queue = mq_open(unique_name, O_RDWR|O_CREAT, 0600, &attr);

mqd_t result = mq_send(queue, &pid, sizeof(pid), 0);
Run Code Online (Sandbox Code Playgroud)

我在编译时遇到以下错误mq_send:

"从不兼容的指针类型传递'mq_send'的参数2"
"初始化使得指针来自整数而没有强制转换"

use*_*169 4

问题是我从来没有这样做过mq_unlink