Co je tabulka symbolů?

Tabulka symbolů používají počítačové systémy jako způsob centralizace informací a zmenšení velikosti programů. Tyto tabulky fungují jako klíč k tajnému kódu; symbol nebo řetězec je umístěn vedle jiné, obvykle mnohem větší, informace. Když program přečte symbol, který je spojen s tabulkou symbolů, program odkazuje na tabulku a vezme informace spíše než symbol. To umožňuje, aby velké informace nebo běžně se opakující struktury měly pouze jeden záznam, což snižuje celkovou velikost programu.

Koncept za tabulkou symbolů je velmi jednoduchý. Jedna tabulka obsahuje širokou škálu informací používaných programem, z nichž každá má svůj vlastní záznam a jedinečný přidružený symbol. Tyto informace by mohly být řetězce kódu, informace o ladění, umístění paměti, doslova cokoli, co by program mohl použít, aby fungoval. Spíše než zahrnout tyto informace do programu, kód jednoduše odkazuje na tabulku pomocí svého jedinečného symbolu.

Existují dvě místa, kde je běžná tabulka symbolů: při kompilaci kódu do programů a při propojování knihoven používaných více programy. Při použití v programech je skutečná tabulka obvykle absorbována do programu nebo v době kompilace vytvořena ve sdílené knihovně. Je neobvyklé nechat seznam oddělený, protože změna seznamu může mít pro program extrémní důsledky. I když je tabulka v tomto procesu transformována, je stále stejná základní věc, je zahrnuta pouze spolu s jiným kódem.

Když se v propojovací knihovně použije tabulka symbolů, možnosti jejího fungování se drasticky rozšíří. Propojovací knihovna je sada informací, o kterých se předpokládá, že jsou kdykoli k dispozici programu. Tyto knihovny jsou často sdíleny operačním systémem nebo skupinou souvisejících programů, které všechny vyrábí stejná společnost.

Každá z těchto knihoven je plná informací o určitých tématech. Jedna knihovna může obsahovat širokou škálu programování pro kreslení okrajů okna uživatelského rozhraní operačního systému, zatímco jiná může obsahovat informace o tom, kde konkrétní skupina programů ukládá informace do paměti. Protože propojovací knihovna může obsahovat takový náhodný sortiment informací, jsou s nimi často zahrnuty tabulky symbolů.

Začleněním tabulky symbolů do linkeru je možné sdílet symboly napříč programovou řadou. To umožňuje více programům přístup ke stejným datům kdykoli. Pokud velký počet programů vyžaduje stejné informace, včetně těch v tabulce symbolů v knihovně, značně zmenší velikost celé skupiny programů.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?