【问题标题】:boost::interprocess::message_queue stops working in Release mode with visual C++boost::interprocess::message_queue 在 Visual C++ 的发布模式下停止工作
【发布时间】:2010-04-23 10:31:25
【问题描述】:

我正在使用 boost::interprocess::message_queue 和 VC++(在 Microsoft Visual Studio 2005 中)。 它在调试模式下正常工作。 然后当我在发布模式下编译我的程序时它停止工作,每次我调用“try_send”它都会返回false。 我不明白发布模式和调试模式之间的设置有何不同,这会使队列停止工作。

【问题讨论】:

  • 查找编译器的更新或将其替换为较新的版本。
  • 是否可以更改 Visual Studio 使用的编译器?我查看了选项,但没有找到。

标签: c++ boost visual-c++ boost-interprocess


【解决方案1】:

事实证明,我的发布版本的日志记录不如调试版本那么多。在队列中累积消息的线程更快,这意味着另一个线程(刷新消息)没有赶上。 最后消息队列是否已满。 我需要使用 timed_send 来使其他线程有时间赶上。

【讨论】:

    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 2019-04-21
    • 2011-03-28
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多