Marcin MazurekRSS
Okładka: Programista nr 98. Zaprzyjaźnij się z kompilatorem. Krótki przewodnik po flagach kompilatora

Programista nr 98. Zaprzyjaźnij się z kompilatorem. Krótki przewodnik po flagach kompilatora

Autor: Programista Magazyn

ebook

22,02 zł 25,90 zł -15%

Kup w księgarni Helion

Przeczytaj fragment (PDF) — udostępniony przez wydawcę.

Wydawca
Magazyn Programista
Rodzaj
ebook
Stron
76
Data wydania
2023-03-16
ISBN
2084-9400

Znajdź podobne: kliknij podkreśloną wartość powyżej albo znaczek przy tytule, a pokażemy inne pozycje z tej księgarni.

Opis

Zaawansowane metody optymalizacji mogą przyczynić się do generowania trudnych do wykrycia błędów, jeśli kod wejściowy nie jest napisany zgodnie ze standardem. Wykrycie źródła nieprawidłowości może być trudne i zależne od wielu czynników, np. wersji kompilatora i stopnia optymalizacji. Część błędów można wyeliminować, korzystając z rozbudowanej diagnostyki, jaką oferują kompilatory.

Standard języka C zakłada, że pewne operacje są niezdefiniowane (np. dzielenie przez zero) i nie mogą one wystąpić w prawdziwym kodzie. Twórcy kompilatorów wykorzystują ten fakt w celu opracowywania coraz bardziej wyrafinowanych metod optymalizacji kodu. Zakładając, że opisane w standardzie sytuacje nie mogą mieć miejsca, kompilator może rozszerzyć obszar optymalizacji i wygenerować bardziej wydajny kod wynikowy. Warto zaznaczyć, że kompilator nie jest zobowiązany do wykrywania wyrażeń niezdefiniowanych podczas procesu kompilacji. Według standardu to programista jest zobowiązany do tworzenia poprawnego kodu. Jeśli programista popełni błąd i dopuści do pojawienia się operacji niezdefiniowanej, to kompilator ma pełną dowolność, w jaki sposób taki kod zostanie przetworzony. Sposób obsługi niepoprawnego kodu wejściowego może zależeć od wielu czynników: wersji kompilatora, stopnia optymalizacji czy architektury procesora. Istnieje szansa, że w pewnych warunkach skompilowany program będzie zachowywał się zgodnie z intencją programisty, podczas gdy na innej platformie będą obserwowane nieskorelowane błędy. W konsekwencji wykrycie przyczyny może być żmudne i czasochłonne. Na szczęście można ograniczyć ryzyko zaimplementowania niedozwolonej operacji poprzez dodanie odpowiednich opcji diagnostycznych na etapie budowania i testowania kodu...

Sprawdź cały spis treści Programisty nr 98

Linki do księgarni są linkami partnerskimi Grupy Helion. Ceny i dostępność pochodzą z oferty wydawcy i mogą się zmienić.