Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

krzydalek

Rozwiązany: Visual C++ Express 2010 problem z linkerem

Polecane posty

Jak w temacie, chodzi o to że program kompiluje się bez najmniejszych problemów w trybie Debug (ok 40s), natomiast po przestawieniu na Release zatrzymuje się na linkerze krok Generating code i mogę tak czekać nawet pół godziny i nic. Co ciekawsze działało do tej pory normalnie(ok 2 minut), ot dodałem 3 linijki kodu o których wcześniej zapomniałem i koniec.. Odinstalowałem, wyczyściłem wszelkie pliki po VC 2010 zainstalowałem ponownie i niestety nadal to samo, proces zajmuje no stop 50% procka i pamięci około 980 000K.. Pewnie format załatwiłby problem, ale nie mam na to czasu :)

Link do komentarza
Udostępnij na innych stronach

ok połowicznie problem rozwiązałem (okazało się że pozostała pewna pusta funkcja i wywołania funkcji których nie było, swoją drogą ciekawe że nie wywalało błędu) release się kompiluje , ale trwa to ok 20 minut, jest może możliwość skrócenia tego czasu? Może w ustawieniach da się coś powyłączać/przyspieszyć?

Link do komentarza
Udostępnij na innych stronach

kod niestety zawiera zbyt dużo tajnych danych :) obecnie końcowy kod ma około 25Mb w formie tekstowej więc może dlatego trwa to dłużej, pierwszy raz mam taki objętościowo duży program (do tej pory max 2Mb kodu heh) więc nie wiem czy tyle faktycznie powinno to trwać :) jeśli o pętle chodzi to mam tylko 3 typu " for " ale to krótkie pętelki. Może powodem być zagnieżdżona funkcja " if "? Tychże jest dużo o zagnieżdżeniu do 4 poziomów.

Link do komentarza
Udostępnij na innych stronach

Eee, coś dziwnie zeznajesz. 25 Mb kodu, ale tylko trzy pętle for ?!

Na czas kompilacji ma wpływ wiele czynników. Możemy wykluczyć kwestie sprzętowe i to jak rozbudowany jest projekt, raczej "dodałem 3 linijki kodu o których wcześniej zapomniałem i koniec" nie mogły mieć zbyt dramatycznego wpływu na te czynniki. Pytanie więc co się mogło zmienić.

Mam kilka pomysłów:

1) Twoje zmiany stworzyły pętle dla preprocesora / bądź szablonów. W efekcie kompilator w nieskończoność rozwiązuje tą pętle.

2) Zmianie uległa konfiguracja builda z Debug na Release. Kompilator musi zbudować od podstaw cały projekt, bo pliki wynikowe w konfiguracji Debug nie mogą być wykorzystane do zbudowania w Release. Te 20 minut to po prostu czas budowania całego projektu. Za drugim razem będzie szybciej, bo trzeba będzie jedynie uwzględnić zmiany w kodzie.

3) Zaraz po tym jak zmieniłeś konfigurację kompilator uległ awarii z przyczyn kompletnie niezależnych od Twoich zmian. Oczywiście przy okazji uszkodził poprzedni build, dlatego po reinstalacji musiał przebudować projekt od nowa.

4) Te Twoje "3 linijki" włączyły jakiś plik nagłówkowy przechowywany na serwerze na drugim końcu świata i strasznie długo trwa ich pobranie.

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...