2010-04-23 91 views
0

我使用boost :: interprocess :: message_queue,與VC + +(在Microsoft Visual Studio 2005中)。 它在調試模式下正常工作。 然後,當我在發佈模式下編譯我的程序時,它停止工作,每次我調用「try_send」它都會返回false。 我不明白什麼可能是發佈和調試模式之間不同的設置,這將使隊列停止工作。boost :: interprocess :: message_queue在發佈模式下停止工作與Visual C++

+1

尋找您的編譯器的更新或替換爲更新的版本。 – bitc 2010-04-23 11:06:34

+0

是否有可能更改visual studio使用的編譯器?我看着選項,但沒有找到。 – Arthur 2010-04-23 12:26:05

回答

0

事實證明,我的發行版不像調試版那麼多。在隊列中累積消息的線程更快,這意味着另一個線程(刷新消息)不會跟上。 最後消息隊列如果已滿。 我需要使用timed_send來讓另一個線程有時間趕上。