Mamy duży projekt,> 1M linii kodu w około 300 bibliotekach DLL. Do tej pory używaliśmy VS6.Ogromne pliki OBJ w kompilacji VS2008 C++ w porównaniu z VS6
Konwertowałem teraz wszystko na VS2008, wszystkie kompilacje, linki i co ważniejsze - działa!
==> Jednak ... wynikowe skompilowane pliki OBJ są większe o X 10, a łączenie jest bardzo powolne, z linkerem trafiającym często> 1 GB pamięci.
Częścią implikacji jest to, że muszę skompilować pewne zalążki za pomocą/bigobj.
Wynik to kompilacja, która trwała od około 1:45 na pulpicie do 3 godzin. Biblioteki DLL i biblioteki LIB mają mniej więcej taki sam rozmiar, jak w starej kompilacji VS6.
Przeczytałem wszystko, co mogłem tu znaleźć, ale nie znalazłem rozwiązania tego problemu. Jeśli jest to dodatkowa informacja DEBUG - nie chcę tego. Już miałem dość. Wydawana wielkość wzrosła, ale nie tak bardzo ...
Ktoś ma jakiś pomysł? Czy moja jedyna możliwość rozbicia projektów na znacznie mniejsze jednostki? Refaktoryzuje moją jedyną nadzieję ?! Z pewnością nie jest tajemnicą flag tęskniłem ...
Edit1 (13/07/2012 12: 20BST) Mam porównaniu DUMPBIN o Celu stworzonej przez VS6 vs VS2008. Ten w roku 2008 pojawia się jako, jak gdyby "statycznie łączący". W VS6 zawiera kilka symboli z aktualnej biblioteki DLL. W VS2008 zawiera symbole z (prawdopodobnie) wszystkich bibliotek, od których jest zależny. Rozmiary dyskietek wynoszą odpowiednio 66 kB i 32 000 kB dla VS6 i VS2008.
Spróbuj wyłączyć "informacje debugowania" w ustawieniach projektu (gałąź C++). –
_ "Mamy duży projekt,> 1M linii kodu w około 300 bibliotekach DLL.) Do tej pory używaliśmy VS6." _ Nigdy więcej nie będę narzekać na moją pracę. – Luke
@IvanShcherbakov - czy nie przeszkodzi mi to w łatwym debugowaniu? – aabramovich