Работая в C ++ MSVS2008, у меня возникали все более и более раздражающие проблемы: точки останова выполнялись не на той строке, не перехватывали и т. Д. Это действительно большое рабочее пространство с тысячами файлов, поэтому я "смирился с этим".
Я прошел "стандартные" вещи (чистые, "глубокие" чистые, вручную удалил *.idb
, *.pdb
, *il*
и т. Д.). Это не исправило "точку останова на неправильной линии" "проблема, но все по крайней мере скомпилировано, и я могу запустить / отладить.
ТО, (по несвязанным причинам) я создал программу командной строки, которая выполнила команду compile-one-CPP-to-OBJ, и получил странную ошибку:
cl : Command line error D8037 : cannot create temporary il file; clean temp directory of old il files
Я никогда не слышал об этом раньше, поэтому веб-поиск привел меня на сайт Microsoft, где подробно описана ошибка:
http://msdn.microsoft.com/en-us/library/bb385201(v=VS.90).aspx
Хм, а? В моей системе TMP
dir было явно слишком много файлов _CL_hhhhhhhh.ss
. Поиск, да, у меня было ровно 6,063
этих файлов в этом каталоге, примерно год назад.
Я никогда не слышал об этих файлах раньше ("временные файлы компилятора"). Поиск на сайте Microsoft показывает, что эта ошибка возможна в , по крайней мере, MSVS 2005, 2008, 2010. Будучи «временными» файлами, я предполагаю, что существует какой-то алгоритм «очистки» или «перезапуска»?
Сколько файлов _CL_hhhhhhhh.ss
является пределом? (У меня была эта ошибка при одном условии в 6,063.)
Почему я вижу эту ошибку, когда выполняю «компиляцию» из EXE-файла, а не из-за IDE MSVS? (Я не вижу этой ошибки, когда я выполняю «компиляцию» непосредственно из командной строки.)
Должен ли я выполнять «техническое обслуживание» своего компьютера для разработки, периодически очищая файлы, подобные этим?
Какие еще "ненужные" файлы мне нужно подумать о поиске и удалении?
Кроме того, я знаю, что GUID проекта MSVS кэшируются в реестре, так что среда IDE может "находить" файлы проекта, которые перемещаются вручную, чтобы "восстанавливать" ссылки / зависимости с другими файлами проекта. Я бы тоже хотел знать, как их почистить, если у кого-нибудь есть предложение.
* * * * * * * * * * * * * * * * * * * * * * * * * * * 1050 * * * * * * * * * * * * * * * * * * * * * * * *1048* * * * *1048* 1050
Win7 / 64, C ++ MSVS 2008, NTFS