最近需要用VS2017在MFC中加一個文件瀏覽窗口,采用了如下方式
1 CFileDialog Dlg(TRUE); 2 int res = Dlg.DoModal(); 3 if(res == IDOK) 4 { 5 //TODO 6 }
但無論用什么方式,就是無法彈出窗口,並且DoModal()直接返回IDCANCEL;
使用CommDlgExtendError()查詢錯誤,返回2,查詢錯誤發現是初始化失敗,沒有足夠內存;
於是查詢項目->屬性->鏈接器->系統,發現從前將堆棧保留大小和堆棧提交大小都設置為100000000,將兩個100000000都刪除后,再運行程序,發現可以彈出文件瀏覽窗口了。
后來看到了一篇博客,找到了具體原因(定義了一個超大的數組,占太大空間,改為了malloc-free動態內存分配就可以了)
