Skip to content
EntityQ1099515· pop 7· linked from 50 articles

Sprawdzanie zakresu

Sign in to save

technique in computer science where variables are ensured to be within bounds before use

Article · Polski

Sprawdzanie zakresu (ang. bounds checking) – każda metoda wykrywania czy nowa wartość zmiennej mieści się w zakresie zmiennej przed zapisem do niej, lub czy wartość która zostanie zaraz użyta jako indeks do tablicy jest w granicach tej tablicy. Na przykład wartość 32768 która miałaby być przypisana do 16-bitowej zmiennej ze znakiem (której zakres to -32768 do +32767), lub dostęp do 25 elementu tablicy w której zasięg prawidłowych indeksów to 0 do 9. Pierwszy przypadek to , a drugi to . Negatywne sprawdzenie zakresu zwykle powoduje wywołanie różnego rodzaju wyjątku. Ponieważ sprawdzanie zakresu przy każdym odwołaniu się do zmiennej lub tablicy jest czasochłonne, w niektórych aplikacjach nie przeprowadza się tego sprawdzenia. Istnieją też specjalne techniki kompilacji umożliwiające eliminację sprawdzeń zakresu w wielu częstych przypadkach; zobacz eliminacja sprawdzania zakresu. Wiele języków programowania, takich jak C/C++, nigdy nie przeprowadza automatycznego sprawdzania zakresu, co jest umotywowane kwestią szybkości działania programu. Jest to przyczyną bardzo wielu błędów off by one i przepełnienia bufora. Popularne języki wymagające sprawdzania zakresu podczas działania programu to Ada, Visual Basic, Java i C#. W języku D i wielu innych sprawdzanie zależy od przełącznika kompilatora. C# pozwala na fragmenty kodu oznaczone unsafe, w których można między innymi pominąć sprawdzanie zakresu i umożliwić używanie surowych wskaźników do pamięci dla szybszego wykonania kodu. Jest to przydatne do optymalizacji niewielkich, a często wywoływanych fragmentów, bez obniżania bezpieczeństwa wykonania całego programu.

Abstract from DBpedia / Wikipedia · CC BY-SA

Available in 7 languages

via Wikidata sitelinks · CC0