2010-09-16 59 views
2

我試圖編譯一個大項目特定的.cpp文件,而我從GCC發現了以下錯誤:GCC虛擬內存耗盡:權限被拒絕

虛擬內存耗盡:權限 否認

有問題的文件大小約25k,並且少於600行C++代碼。

我明白什麼是虛擬內存不足,但我不確定什麼是「權限被拒絕」限定符意味着 - 我的生成計算機在構建過程中似乎沒有內存不足,並且ulimit顯示無限的虛擬內存。

通過系統配置或追蹤違規代碼的建議來糾正這個問題的任何想法?

請注意,調整GCC構建標誌不是一個選項。

+0

這個「特定的.cpp文件?」有多大?編譯器退出時使用多少內存?請記住,它的地址空間可能小於系統上的總內存量。您是否嘗試過調整編譯器選項或修改.cpp文件以查看可以採取哪些措施來防止發生此問題? – 2010-09-16 00:33:45

+0

我已更新帶有文件大小信息的問題。我試過從文件中刪除任何不平凡的代碼,但沒有運氣。修改和調整編譯器選項不是一個選項 - 這是「權限被拒絕」,讓我最困惑,我不知道如何解釋。 – bvanvugt 2010-09-16 00:45:09

+0

讓它休息一天左右。 – karlphillip 2010-09-16 01:00:15

回答

1

我已經通過將一些包含的.hpp文件拆分爲多個部分來糾正問題,並且只包含我在此文件中需要的部分。這對我來說是合理的,爲什麼修復虛擬內存耗盡,仍然不知道哪裏的權限失敗了......