C++ · Avançado · Inglês · Técnico
translation unit
O arquivo-fonte depois que o pré-processador expandiu todos os #include e macros. É a unidade que o compilador processa de cada vez, gerando um arquivo objeto.
Onde usar
Explica por que mudar um header recompila todos os .cpp que o incluem e por que templates e funções inline precisam estar visíveis em cada unidade. É base para entender erros de linker.
Em código
g++ -E main.cpp -o main.ii # expande
g++ -c main.cpp -o main.o # compila
g++ main.o util.o -o app # linkaExemplos
Each translation unit is compiled on its own.
Cada translation unit é compilada separadamente.
A big header inflates every translation unit.
Um header grande incha toda translation unit.
Cuidado
Não é o mesmo que o arquivo .cpp: é o .cpp já com os includes expandidos.
Sinônimos
unidade de tradução