/LARGEADDRESSAWARE 選項通知連接器應用程序可處理大於 2 GB 的地址。 在 64 位編譯器中,默認狀況下啓用此選項。 在 32 位編譯器中,若是未在連接器行上指定 /LARGEADDRESSAWARE,則將啓用 /LARGEADDRESSAWARE:NO。windows
若是用 /LARGEADDRESSAWARE 來連接應用程序,則 DUMPBIN /HEADERS 將顯示該效果的信息。app
打開該項目的「屬性頁」對話框。 有關詳細信息,請參見設置 Visual C++ 項目屬性。ui
單擊「連接器」文件夾。this
單擊「系統」屬性頁。spa
修改「啓用大地址」屬性。.net
不須要largeaddressaware全部windows程序就都能用到2g內存,2g以上才須要largeaddressaware,在2g之內若是你的程序在分配大內存時報outofmemory exception,通常來講有如下幾種狀況:調試
1.可用內存不夠
2.你在vs2005中用調式方式啓動程序,而且在項目屬性的調式選項裏你啓用了vs2005自帶宿主方式調試。vs2005自帶的調試宿主環境彷佛只提供1g內存的地址空間。
3.使用了動態調整的集合對象但未指定Capacity。如ArrayList,Hashtable等。當在須要請求大內存的狀況下使用動態調整的集合對象必須強制Capacity上限,由於集合動態調整Capacity所須要的內存數是Count數的3倍。假如你空閒2g內存,使用ArrayList時未指定Capacity,capacity是採用翻倍增加策略的,當Capacity用到1g的時候再添加元素.net會請求2g空間,這樣在把全部元素copy到新的內存前總共開銷要3g內存.orm