2010-05-08 15 views

risposta

33

Dalla C++ standard:

Un file sorgente insieme a tutte le intestazioni ei file sorgente incluso tramite la direttiva al preprocessore # include meno ogni riga di codice sorgente saltato da una delle l'inclusione condizionale pre-elaborazione delle direttive è chiamato traduzione unità.

30

Una "unità di traduzione" è un file sorgente più eventuali intestazioni o altri file sorgente che include, inclusi eventuali file che includono, e così via. Un file sorgente è solo questo ... un file sorgente.

Se è utile, pensare al file sorgente come "prima" del preprocessore e all'unità di traduzione come "dopo".

16

Un'unità di traduzione è l'unità di base della compilazione in C++. Contiene:

  • tutti i contenuti di un singolo file di origine dopo il preprocessore ha fatto il suo corso
  • il contenuto di qualsiasi file di intestazione, direttamente o indirettamente inclusi da essa
  • al netto di eventuali linee ignorate utilizzando le istruzioni di pre-elaborazione condizionali

Una singola unità di traduzione viene compilata in un file oggetto, una libreria o un programma eseguibile.

Un file di origine, al contrario, è un file autonomo, proprio come qualsiasi altro file sul file system. Una volta compilato, può essere un componente di un'unità di traduzione come menzionato sopra.

Problemi correlati