Co to jest tablica symboli?
Tablica symboli jest używana przez systemy komputerowe jako sposób centralizacji informacji i zmniejszenia rozmiaru programów. Te tabele działają jak klucz do tajnego kodu; symbol lub ciąg znaków jest umieszczony obok innego, zwykle znacznie większego fragmentu informacji. Gdy program odczytuje symbol powiązany z tablicą symboli, program odwołuje się do tabeli i pobiera informacje, a nie symbol. Pozwala to dużym fragmentom informacji lub często powtarzanym strukturom mieć tylko jeden wpis, zmniejszając ogólny rozmiar programu.
Koncepcja tabeli symboli jest bardzo prosta. Pojedyncza tabela zawiera szeroki zakres informacji wykorzystywanych przez program, każda z własnym wpisem i unikalnym powiązanym symbolem. Informacje te mogą być ciągami kodu, informacjami debugowania, lokalizacjami pamięci, dosłownie wszystkim, czego program mógłby użyć do działania. Zamiast zawierać te informacje w programie, kod po prostu odwołuje się do tabeli za pomocą swojego unikalnego symbolu.
Są dwa miejsca, w których tablica symboli jest wspólna: w kompilowaniu kodu w programy i w łączeniu bibliotek używanych przez wiele programów. Gdy jest używana w programach, rzeczywista tabela jest zwykle absorbowana w programie lub przekształcana we wspólną bibliotekę podczas kompilacji. Pozostawienie listy osobno, jest niezwykłe, ponieważ zmiana listy może mieć ekstremalne konsekwencje dla programu. Nawet jeśli tabela jest przekształcana w tym procesie, nadal jest to ta sama podstawowa rzecz, jest dołączana wraz z innym kodem.
Kiedy tabela symboli jest używana w bibliotece łączącej, możliwości jej działania rozszerzają się drastycznie. Biblioteka łącząca jest zbiorem informacji, które zakłada się, że są dostępne dla programu w dowolnym momencie. Biblioteki te są często współużytkowane przez system operacyjny lub rodzinę powiązanych programów, wszystkie stworzone przez tę samą firmę.
Każda z tych bibliotek jest wypełniona informacjami na określone tematy. Jedna biblioteka może zawierać szeroki wachlarz programów do rysowania granic okien interfejsu użytkownika systemu operacyjnego, podczas gdy inna może zawierać informacje o tym, gdzie konkretna grupa programów przechowuje informacje w pamięci. Ponieważ biblioteka łącząca może zawierać taki losowy zestaw informacji, często dołącza się do nich tablice symboli.
Włączając tablicę symboli do łącznika, możliwe jest współdzielenie symboli w szeregu programów. Umożliwia to wielu programom dostęp do tych samych danych w dowolnym momencie. Jeśli duża liczba programów wymaga tych samych informacji, w tym w tablicy symboli w bibliotece znacznie zmniejsza rozmiar całej grupy programów.