Проблема с командой (Express) External Tools Visual C++ 2010 года

Обычно мы разрабатываем в VS 2005 Pro, но я хотел дать VS 2010 вращение. Нам основывали сделанные на заказ инструменты прочь GNU, делают инструменты, которые называют при создании исполняемого файла.

Это - ошибка, которую я вижу каждый раз, когда я называю свой внешний инструмент:

...\gnu\make.exe): *** couldn't commit memory for cygwin heap, Win32 error 487

Протест состоит в том, что это все еще работает превосходное в VS2005, а также быть названным прямо из командной строки. Кроме того, мой внешний инструмент является установкой точно то же как в VS 2005.

Разве существует ли некоторая установка где-нибудь, которая могла заставить эту ошибку быть брошенной?

0
задан 09.06.2010, 18:38

2 ответа

От проблемы с "кучей", win32 ошибка 487:

Каждое приложение Cygwin заставляет специальную область "кучи" содержать материал, который наследован к дочерним процессам. Например, все структуры дескриптора файла хранятся в той области "кучи" (названный "cygheap"). cygheap имеет пространство по крайней мере для 4 000 структур дескриптора файла. Но - это - подсказка - это - фиксированный размер. cygheap не может вырасти. Это - размер, резервируется в запуске приложения, и это - блоки, фиксируются по требованию.

По некоторым причинам для Вашего серверного приложения нужно все пространство cygheap при выполнении при описанных условиях.

Возможное решение могло бы быть найдено в Изменении Максимальной Памяти Cygwin:

"Куча" Cygwin расширяема. Однако это действительно начинается в фиксированном размере и пытается расшириться, это может столкнуться с памятью, которая была ранее выделена Windows. В некоторых случаях эта проблема может быть решена путем добавления записи в любом HKEY_LOCAL_MACHINE (для изменения предела для всех пользователей) или HKEY_CURRENT_USER (для просто текущего пользователя) раздел реестра.

Добавьте, что DWORD оценивают heap_chunk_in_mb и устанавливают его на желаемый предел памяти в десятичном МБ. Это предпочтено, чтобы сделать это в “Cygwin с помощью regtool программы, включенной в пакет “Cygwin. (Для получения дополнительной информации о regtool или других утилитах “Cygwin, посмотрите раздел под названием “Cygwin Utilities” или используйте - опция справки каждого util.) Необходимо всегда быть осторожными, когда использование regtool начиная с повреждения системного реестра может привести к неприменимой системе. Этот пример устанавливает предел памяти к 1 024 МБ:

regtool -i set /HKLM/Software/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygwin

Выйдите из всех рабочих процессов Cygwin и перезапустите их. Память может быть выделена до размера системной области подкачки минус любой размер любых рабочих процессов. Системная подкачка должна быть, по крайней мере, столь же большой как физически установленная RAM и может быть изменена под категорией System Панели управления.

Не повредило бы гарантировать, что максимальный размер Вашего файла подкачки окон является достаточно большим.

И между прочим, сколько RAM Вы имеете в своем компьютере?

1
ответ дан 24.11.2019, 12:30

Возможно, это - проблема с Выразительностью по сравнению с Профессионализмом версии. Вы могли попытаться пробовать суд над Профессиональной версией.

0
ответ дан 24.11.2019, 12:30

Теги

Похожие вопросы