×
Dodano do koszyka:
Pozycja znajduje się w koszyku, zwiększono ilość tej pozycji:
Zakupiłeś już tę pozycję:
Książkę możesz pobrać z biblioteki w panelu użytkownika
Pozycja znajduje się w koszyku
Przejdź do koszyka

Zawartość koszyka

ODBIERZ TWÓJ BONUS :: »

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

(ebook) (audiobook) (audiobook)
Wydawnictwo:
Magazyn Programista
Ocena:
Bądź pierwszym, który oceni tę książkę
Stron:
76
Dostępne formaty:
     PDF
     ePub
     Mobi
Czytaj fragment

Ebook (11,90 zł najniższa cena z 30 dni)

25,90 zł (-54%)
11,90 zł

Dodaj do koszyka lub Kup na prezent Kup 1-kliknięciem

(11,90 zł najniższa cena z 30 dni)

Przenieś na półkę

Do przechowalni

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

Magazyn Programista - inne książki

Zamknij

Przenieś na półkę

Proszę czekać...
ajax-loader

Zamknij

Wybierz metodę płatności

Ebook
11,90 zł
Dodaj do koszyka
Zamknij Pobierz aplikację mobilną Ebookpoint