Skip to main content

Vad är en symboltabell?

En symboltabell används av datorsystem som ett sätt att centralisera information och minska storleken på program.Dessa tabeller fungerar som nyckeln till en hemlig kod;En symbol eller sträng placeras bredvid en annan, i allmänhet mycket större information.När ett program läser en symbol som är associerad med symboltabellen hänvisar programmet tabellen och tar informationen snarare än symbolen.Detta gör att stora information eller vanligt upprepade strukturer endast har en post, vilket minskar programmets övergripande storlek.

Konceptet bakom en symboltabell är mycket enkelt.En enda tabell innehåller ett brett utbud av information som används av ett program, var och en med sin egen post och unika tillhörande symbol.Denna information kan vara strängar av kod, felsökningsinformation, minnesplatser, bokstavligen allt som programmet kan använda för att fungera.I stället för att inkludera den informationen i programmet hänvisar koden helt enkelt tabellen med sin unika symbol.

Det finns två platser där en symboltabell är vanligt: vid sammanställning av kod till program och vid länkbibliotek som används av flera program.När den används i program absorberas den faktiska tabellen vanligtvis i programmet eller görs till ett delat bibliotek vid tidpunkten för kompilering.Det är ovanligt att lämna listan separat, eftersom att ändra listan kan få extrema konsekvenser för programmet.Även när tabellen omvandlas i denna process är det fortfarande samma grundläggande sak, det ingår bara tillsammans med annan kod.

När en symboltabell används i ett länkande bibliotek, möjligheterna för hur det kan fungera drastiskt.Ett länkbibliotek är en uppsättning information som antas vara tillgänglig för ett program när som helst.Dessa bibliotek delas ofta av ett operativsystem eller en familj av relaterade program som alla tillverkas av samma företag.

Var och en av dessa bibliotek är fyllda med information om vissa ämnen.Ett bibliotek kan innehålla ett brett utbud av programmering för att rita fönstergränserna för operativsystemets användargränssnitt medan en annan kan innehålla information om var en specifik grupp program lagrar information i minnet.Eftersom ett länkande bibliotek kan innehålla ett sådant slumpmässigt sortiment av information, ingår symboltabeller ofta i dem.

Genom att integrera en symboltabell i en länkare är det möjligt att dela symbolerna över en programserie.Detta tillåter flera program åtkomst till samma data när som helst.Om ett stort antal program alla kräver samma information, inklusive den i en symboltabell i ett bibliotek minskar kraftigt storleken på den totala programgruppen.