沒有人知道爲什麼boost唯一鎖對象只能在堆棧上實例化而不在堆上實例化?boost在堆上創建unique_lock而不是堆棧導致mingw崩潰
這完美的作品:
boost::unique_lock<boost::mutex> lock1(mutex1);
:
wait_condition.wait(lock1);
但是這將導致在Windows 7 & Windows 8的兩種運行時崩潰使用MinGW編譯後:提前
boost::unique_lock *lock1;
lock1 = new boost::unique_lock<boost::mutex>(mutex1);
:
wait_condition.wait(*lock1);
感謝
你沒有提到你說的是什麼版本的提升,也沒有提到它在哪裏以及如何崩潰。但出於好奇:在堆上創建一個特殊的RAII設施有什麼意義?您可以手動鎖定/解鎖互斥鎖... – 2013-02-10 14:21:51