【发布时间】:2020-04-06 09:16:07
【问题描述】:
我正在尝试使用消息队列和 pthread 在 Linux 中编写一个消息程序。
我编写的程序解析命令行参数以获取 像
这样的消息队列user1) ./msg 4321 1234 // snd_key: 4321, rcv_key: 1234
user2) ./msg 1234 4321 // snd_key: 1234, rcv_key: 4321
然后它会创建两个消息队列:一个用于发送,另一个用于接收消息。 然后它启动一个线程来运行 sender() 传入 &snd_queue 作为 参数和接收者类似。 然后我通过使用 pthread_joing 等待两个子线程完成了程序,然后释放了两个消息队列。
问题是我使用两个终端看不到传入消息。 (我只能看到我输入的消息) 此外,在编写“退出”(应该结束程序)时,它会给出分段错误(核心转储)。
我无法理解我的程序中的错误是什么(它没有任何编译错误)
【问题讨论】:
-
你应该发布你到目前为止所做的所有事情。
-
@snr 你是什么意思?这就是我到目前为止所做的一切。我已经编写了整个程序。有什么遗漏吗?