6

以下の投稿の解決策は私にはうまくいきません。「メッセージが長すぎます」というエラー メッセージが表示されます。何が問題になる可能性がありますか? LinuxでPOSIX APIを使用してメッセージキューで整数を送信するには?

私が正しければ、 apid_tは として定義されます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);

の行でコンパイル時に次のエラーが発生しますmq_send

「互換性のないポインター型から 'mq_send' の引数 2 を渡しています」
「初期化により、キャストなしで整数からポインターが作成されます」

4

2 に答える 2

4

問題は、私が一度もやったことがないということでしたmq_unlink

于 2012-11-08T10:38:26.447 に答える
1

最初に mq_attr で最大メッセージ サイズとキュー サイズを設定することをお勧めします。POSIX キューの詳細については、この投稿を参照してください。

于 2012-11-07T19:27:43.550 に答える