У нас есть большой проект, > 1M строк кода примерно в 300 DLL. До сих пор мы использовали VS6.
Теперь я преобразовал все в VS2008, все компиляции, ссылки и, что еще важнее - работает!
== > Однако... результирующие скомпилированные файлы OBJ больше X 10, а связь очень медленная, при этом компоновщик часто ударяет > 1 ГБ памяти.
Часть последствий заключается в том, что мне нужно скомпилировать определенные prject с /bigobj.
Результат - это сборка, которая прошла примерно с 1:45 на рабочем столе до 3 часов. DLL и LIB примерно такого же размера, как и в старой сборке VS6.
Я прочитал все, что мог найти здесь, но не нашел средства для решения этой проблемы. Если это дополнительная информация DEBUG - я не хочу этого. Раньше у меня было достаточно. Размер в выпуске увеличился, но не так много...
У кого-нибудь есть идея? Или мой единственный вариант разбить проекты на гораздо меньшие единицы? Является ли рефакторинг моей единственной надеждой?! Наверняка есть секретный флаг, который я пропустил...
Edit1 (13/07/2012 12: 20BST) Я сравнил dumpbin Obj, созданный VS6 vs. VS2008. Тот, который в 2008 году выглядит как "статическая привязка". В VS6 он содержит несколько символов из текущей DLL. В VS2008 он содержит символы из (возможно) всех библиотек, от которых он зависит. Размеры Dumpbin составляют 66kb и 32,000kb для VS6 и VS2008 соответственно.