O que é uma unidade de tradução?
Uma unidade de tradução é o corpo completo de código-fonte que um compilador processa de uma vez, formado ao tomar um arquivo-fonte e expandir todos os seus cabeçalhos incluídos e macros. O compilador trata esse texto expandido como uma unidade independente e emite um arquivo-objeto a partir dele. Cada unidade de tradução é compilada separadamente e só é unida depois pelo linker.
Por que isso importa
A unidade de tradução é a granularidade em que o compilador vê o código, e é por isso que declarações e definições devem estar visíveis dentro dela. Seus limites explicam tanto o comportamento de reconstrução incremental quanto muitos erros relacionados a includes.
Guias relacionados
What Is an Object File?An object file holds machine code and data for one compiled translation unit, with unresolved references the…
What Is a Preprocessor Directive?A preprocessor directive is an instruction handled before compilation that includes files, defines macros, or…
What Is a Header Guard?A header guard is a preprocessor pattern that ensures a header file is included only once per translation uni…