У нас есть довольно большое приложение на С++, которое состоит из около 60 проектов в Visual Studio 2005. В настоящее время для связи в режиме выпуска требуется 7 минут, и я хотел бы попытаться сократить время. Есть ли советы по улучшению времени соединения?
Большинство проектов компилируются в статические библиотеки, это упрощает тестирование, поскольку каждый из них также имеет набор связанных модульных тестов. Похоже, что использование статических библиотек не позволяет VS2005 использовать инкрементную привязку, поэтому даже при инкрементальной привязке он делает полную ссылку каждый раз.
Будет ли использование DLL для подпроектов иметь значение? Я действительно не хочу проходить через все заголовки и добавлять макросы для экспорта символов (даже используя script), но если он сделает что-то, чтобы сократить время ссылки 7 минут, я обязательно его рассмотрю.
По какой-то причине использование nmake из командной строки немного быстрее и привязка одного и того же приложения к Linux (с GCC) выполняется намного быстрее.
- IDE Visual Studio 7 минут
- Visual С++ с использованием nmake из командной строки - 5 минут
- GCC на Linux 34 секунды