¿Qué es una tabla de símbolos?
Una tabla de símbolos es utilizada por los sistemas informáticos como una forma de centralizar la información y reducir el tamaño de los programas. Estas tablas funcionan como la clave para un código secreto; Se coloca un símbolo o una cadena junto a otra información, generalmente mucho más grande. Cuando un programa lee un símbolo asociado con la tabla de símbolos, el programa hace referencia a la tabla y toma la información en lugar del símbolo. Esto permite que grandes piezas de información o estructuras comúnmente repetidas solo tengan una entrada, reduciendo el tamaño general del programa.
El concepto detrás de una tabla de símbolos es muy simple. Una sola tabla contiene una amplia gama de información utilizada por un programa, cada una con su propia entrada y símbolo asociado único. Esta información podría ser cadenas de código, información de depuración, ubicaciones de memoria, literalmente cualquier cosa que el programa pueda usar para funcionar. En lugar de incluir esa información dentro del programa, el código simplemente hace referencia a la tabla utilizando su SYMB únicool.
Hay dos lugares donde una tabla de símbolos es común: en la compilación del código en programas y en la vinculación de bibliotecas utilizadas por múltiples programas. Cuando se usa en programas, la tabla real generalmente se absorbe en el programa o se convierte en una biblioteca compartida en el momento de la compilación. Es inusual dejar la lista por separado, ya que alterar la lista podría tener consecuencias extremas para el programa. Incluso cuando la tabla se transforma en este proceso, sigue siendo la misma cosa básica, solo se incluye junto con otro código.
Cuando se usa una tabla de símbolos en una biblioteca de enlace, las posibilidades de cómo puede funcionar se expanden drásticamente. Una biblioteca de enlace es un conjunto de información que se supone que está disponible para un programa en cualquier momento. Estas bibliotecas a menudo son compartidas por un sistema operativo o una familia de programas relacionados que todos están hechos por la misma compañía.
Cada una de estas bibliotecas es FILled con información sobre ciertos temas. Una biblioteca puede contener una amplia gama de programación para dibujar los bordes de las ventanas de la interfaz de usuario del sistema operativo, mientras que otro puede contener información sobre dónde un grupo específico de programas almacena información en la memoria. Dado que una biblioteca de enlace puede contener dicha variedad de información aleatoria, las tablas de símbolos a menudo se incluyen con ellas.
Al incorporar una tabla de símbolos en un enlazador, es posible compartir los símbolos en una serie de programas. Esto permite el acceso de múltiples programas a los mismos datos en cualquier momento. Si un gran número de programas requiere la misma información, incluida la incluida dentro de una tabla de símbolos en una biblioteca, reduce enormemente el tamaño del grupo de programas totales.