C++ 調用 GetLastError() 返回 8 ,應該怎樣解決?

說是存儲空間不足,這裡指的是內存還是硬碟?應該如何排查和解決?

WIN7 64位系統,內存4G,程序所在分區空間還空餘很多。100多個G。實在找不到頭緒了。不知道有哪位朋友遇到過類似問題。


A: 車提速不給力,如何解決?

B: 可能是噴油嘴髒了,導致汽油霧化不良,需要清洗;也可能是發動機內部積碳,要清除。

A: 我的是自行車。


用這個8 調用下 FormatMessage這個API。看看說什麼。


處理過類似的錯誤,最後查明是內存泄漏. 每次泄漏一點,不停的泄漏,然後就報這個異常了.


ERROR_NOT_ENOUGH_MEMORY 你的代碼當時具體在做什麼?你的程序跑了多久,是否有內存泄漏?


既不是內存也不是硬碟,虛擬空間知道是嗎?調的哪個API?


調用 ::LoadLibrary 載入一個很大的 dll (500 多M)有時會出現這個問題。

問題出現之後,程序因為載入不了 dll 無法正常啟動,等一會兒再試試,就又可以了。。。

懷疑是不是進程的可用內存用光了,用 vmmap 看了一下載入成功時候的內存佔用,不到 1G。

按說進程可用內存應該有 2G (總共 4G,操作系統占 2G),不會出現內存不夠用的情況。

至今仍然沒有找到問題原因,提主找到答案的話麻煩告知下。


這個問題,描述清楚點,去SO問吧。看看下面有和你類似的沒:

http://stackoverflow.com/search?q=ERROR_NOT_ENOUGH_MEMORY


推薦閱讀:

什麼樣的程序員需要多個顯示器? 或者說那種類型或者情況下的編程需要台式電腦配多個顯示器?
關於C語言中自增自減的問題?
學習 Python 用哪本書好?
MATLAB 有什麼奇技淫巧?
為什麼都2015年了,學校裡面的開發還是用vc6?

TAG:編程 | C編程語言 | C | Windows開發 |