Wystarczy podać jakiś kontekst, mówię o kompilowaniu kodu C++ z g ++ tutaj.g ++ - używa flagi "-g" do produkcji produkcji dobry pomysł?
Widzę, jak włączenie opcji -g dla kompilacji produkcyjnych byłoby wygodne z powodu konserwacji: program będzie o wiele łatwiej debugować, jeśli nieoczekiwanie się zawiesi.
Moje pytanie brzmi: czy włączenie flagi -g wpływa na plik wykonywalny w inny sposób niż zwiększenie jej rozmiaru? Czy w jakiś sposób może spowolnić kod (np. Wyłączając niektóre optymalizacje)?
Z tego co rozumiem, nie powinno (w dokumentacji tylko wzmianka o włączeniu symboli debugowania), ale nie jestem pewien.
Jak czytam te dokumenty, tylko kompilatory inne niż gcc mają optymalizacje zmienione przez -g. Moje doświadczenie jest takie, że w przypadku gcc idzie w innym kierunku: na to, co można zobaczyć i zrobić w debugerze, mają wpływ optymalizacje - czasami poważnie. Oczywiście tego można się spodziewać po agresywnej optymalizacji: nie można debugować tego, czego nie ma. – Gene
@Gene: Oh widzę ... interesujące, dzięki za wskazanie. Wygląda więc na to, że byłem tym, który mylił się co do GCC! – Mehrdad