Tym razem jedynie ciekawe spostrzeżenie, a jak się okazuje dość znacząca wada, którą ostatnio zauważyłem w STL. Dla testu wystarczy napisać kod: std::vector< std::string> . Pytanie: Ile znaków wynosi nazwa alokatora wygenerowana przez VS2005 do pliku zawierającego informację dla debugera. Odpowiedź: 525 znaków. Natomiast w samym pliku .PDB znajdzie się ok. 40kB samych definicji dotyczących tej prostej konstrukcji. W firmie CDPRS używamy STL. Plik PDB gry ma 165MB a sam proces generowania tego pliku (przy każdej kompilacji) wynosi średnio 2min. Jaką część tego pliku stanowią definicje STL nawet już nie chcę liczyć. Ale tak na “oko”, sporą część.

 

„To jest już z włączonym PCH. Wcześniej było bez nich i precompiled headery skróciły nam czas kompilacji z 15min właśnie do 2-3 min  Niestety PCH przysporzyły nam nowych problemów. Gdy się tworzy biblioteki .lib w których są klasy używane w głównym kodzie, ale nie są używane w samej bibliotece, to linker “gubi” informacje dla debugera. Powoduje to, że debuger nie potrafi rozpoznać takiej klasy wyswietlając “Error in OMF type information” co uniemożliwia debugowanie obiektów tej klasy. Jest to opisane w KB102697.

Ciekawe spostrzeżenie
0 votes, 0.00 avg. rating (0% score)