Domanda

Qualcuno può descrivere che cosa è una tabella dei simboli è all'interno di un contesto di C e C++?

È stato utile?

Soluzione

Ci sono due comuni e relative significato del simbolo tabelle qui.

Primo, c'è il simbolo tabella nel file oggetto.Di solito, C o C++ compilatore compila un unico file sorgente in un file oggetto con un .obj o .o estensione.Questo contiene una raccolta di codice eseguibile e i dati che il linker in grado di elaborare in una domanda di lavoro o la libreria condivisa.L'oggetto file ha una struttura di dati chiamata tabella dei simboli che le mappe le diverse voci nel file oggetto di nomi che il linker può capire.Se si chiama una funzione dal codice, il compilatore non mettere l'ultimo indirizzo della routine nel file oggetto.Invece, inserisce un segnaposto valore nel codice e aggiunge una nota che dice che il linker per cercare il riferimento nelle varie tabelle di simboli da tutti i file oggetto è l'elaborazione del bastone e la posizione finale c'.

Secondo, c'è anche il simbolo di un tavolo in una libreria condivisa o DLL.Questo è generato dal linker e serve a nome di tutte le funzioni e gli elementi di dati che sono visibili agli utenti della biblioteca.Questo permette al sistema di run-time di collegamento, la risoluzione di aprire i riferimenti a quei nomi per la posizione in cui la libreria viene caricata in memoria.

Se volete saperne di più, suggerisco di John Levine eccellente libro "Linker e Loader".testo del link

Altri suggerimenti

Brevemente, è la mappatura del nome che si assegna una variabile al suo indirizzo in memoria, inclusi i metadati come il tipo, la portata e le dimensioni.Esso è utilizzato dal compilatore.

In generale, non solo il C[++]*.Tecnicamente, non sempre diretti indirizzo di memoria.Dipende da che lingua, piattaforma, etc.il compilatore è targeting.

In Linux, è possibile utilizzare il comando:

nm [file oggetto]

all'elenco della tabella dei simboli dell'oggetto file.

La tabella dei simboli è la lista di "simboli" in un programma unitario.I simboli sono più spesso i nomi di variabili o funzioni.Il simbolo tabella può essere utilizzata per determinare il punto in cui la memoria di variabili o funzioni sarà situato.

Controllare il Tabella Dei Simboli voce di wikipedia.

Tabella dei simboli è un'importante struttura di dati creati e mantenuti dai compilatori per memorizzare le informazioni circa l'insorgenza di varie entità come i nomi delle variabili, i nomi delle funzioni, oggetti, classi, interfacce, etc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top