Linkage
Linguaggio C ++: peculiarità – linkage
In C ++( ma anche in C) l ' unità di compilazione è il file ma un programma può essere costituito da numerosi file sorgenti compilati separatamente e collegati insieme dal linker
Il linkage determina la porzione di programma nel quale un identificatore può essere referenziato ossia stabilisce il suo scope( visibilità)
Se un identificatore è visibile in tutto il file sorgente in cui è dichiarato e la sua dichiarazione contiene lo specificatore di memorizzazione static si dice che ha linkage interno ossia è visibile solo all ' interno di quel file sorgente ma non altrove
Se un identificatore è visibile in tutto il file sorgente in cui è dichiarato ma non e ' dichiarato come static si dice che ha linkage esterno ossia è visibile da quel punto in tutto il resto del programma
Se la dichiarazione di un identificatore all ' interno di un blocco non contiene lo specificatore di classe di memorizzazione extern si dice che quell ' identificatore non ha nessun linkage ed è visibile solo all ' interno di quel blocco
N. B. se si vuole implementare una libreria di funzioni esportabili( ossia richiamabili da ogni punto del programma) dovranno avere linkage esterno mentre quelle realizzate per scopi interni( quindi non esportabili) linkage interno
Autore: Prof. Rio Chierego Aprile 2025