Виртуальная память GCC исчерпана: в доступе отказано - PullRequest
2 голосов
/ 16 сентября 2010

Я пытаюсь скомпилировать конкретный файл .cpp в большом проекте и получаю следующую ошибку от GCC:

виртуальная память исчерпана: разрешение отказано

Файл имеет размер ~ 25 КБ и менее 600 строк кода C ++.

Я понимаю, что означает нехватка виртуальной памяти, но я не уверен, что означает квалификатор "Отказано в доступе" - на моей сборочной машине не хватает памяти во время сборки, а ulimit показывает неограниченная виртуальная память.

Есть какие-нибудь идеи по исправлению этого, либо через системную конфигурацию, либо предложения по отслеживанию нарушающего кода?

Обратите внимание, что настройка флагов сборки GCC невозможна.

1 Ответ

1 голос
/ 16 сентября 2010

С тех пор я исправил проблему, разделив некоторые из включенных файлов .hpp на несколько частей, и только # включая части, которые мне нужны в этом файле. Для меня имеет смысл, почему это устраняет истощение виртуальной памяти, но я до сих пор не уверен, где разрешения не работают ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...