Огромный файл статической библиотеки при компиляции с использованием VS2005, нормального размера при компиляции с использованием gcc

Я компилирую статическую библиотеку, которая в основном содержит классы с шаблонами. Когда он скомпилирован с использованием gcc, размер результирующего файла .a составляет около 40 МБ. Это довольно много, но не совсем неожиданно из-за большого количества шаблонов. Однако, когда я компилирую тот же код с помощью VS2005, полученный файл .lib занимает (подождите!) 575 Мб ..

Теперь, прежде чем я сгорю, я увидел: Как я могу получить моя очень большая программа для связывания? , и это полезно для понимания того, что шаблоны потенциально делают библиотеки большими, но я (Отладка)

/Od /D "WIN32" /D "_DEBUG" /D "_LIB" /D "_WIN32_WINNT=0x0500" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /W4 /nologo /c /Wp64 /Zi /TP /errorReport:prompt

(Выпуск)

/O2 /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_WIN32_WINNT=0x0500" /D "_MBCS" /FD /EHsc /MD /W4 /nologo /c /Wp64 /Zi /TP /errorReport:prompt

Приветствуются любые комментарии или указатели ..

5
задан Community 23 May 2017 в 12:21
поделиться