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 (13,90 zł najniższa cena z 30 dni)

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

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

    ( 13,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

    Wybrane bestsellery

    Magazyn Programista - inne książki

    Zamknij

    Wybierz metodę płatności

    Zamknij Pobierz aplikację mobilną Ebookpoint