Sean's Note: 不要將 vector 做為參數傳遞至 DLL

2012年6月26日 星期二

不要將 vector 做為參數傳遞至 DLL

最近用了 STL 的 vector 當作 DLL 裡的函式參數,讓 EXE 建立的 vector 給 DLL 做事,

結果發現一直莫名其妙的 Crash,原來 EXE 和 DLL 會有各自的記憶體存放靜態成員,

而大部分的 STL 物件類別都使用靜態成員資料(Static Data Member),所以就會造成 


Access Violation, Data Lost 甚至於 Crash。


參考資料:
http://www.cnblogs.com/mysunnyday/archive/2011/08/23/2150279.html
http://support.microsoft.com/default.aspx?scid=KB;en-us;q172396

沒有留言:

張貼留言