1
managed_windows_shared_memory崩潰,我有以下簡單的程序:的boost ::進程間::上VC11
#include <boost\interprocess\managed_windows_shared_memory.hpp>
#include <boost\interprocess\shared_memory_object.hpp>
using namespace boost::interprocess;
int main()
{
managed_windows_shared_memory segment(create_only, "MySharedMemory", 655360);
return 0;
}
它崩潰,但以下情況除外:
Unhandled exception at 0x00007FF6B7741664 in Server.exe: Stack cookie instrumentation code detected a stack-based buffer overrun.
這只是發生在VC11發佈版本。 (VC10很好)。查看調用堆棧,它發生在boost \ intrusive \ rbtree_algorithms.hpp中的rebalance_after_insertion()處。有沒有人遇到類似的問題?
堆棧幀被損壞,編譯器沒有爲boost對象分配足夠的空間。到目前爲止,最常見的原因是你鏈接錯誤的版本或錯誤的增強版本。就像你用VC10構建的那個一樣。或者調試版本。 –
雙重檢查了構建,但它獲得了正確版本的boost。 – imback82
我有同樣的問題,我很確定我使用了正確版本的boost。它也只發生在'/ O2'優化標誌。 –