C · Avançado · Português · Técnico
unidade de tradução
Resultado do pré-processamento de um arquivo .c: o código-fonte com todos os #include e macros já expandidos. É o que o compilador traduz de cada vez.
Onde usar
Cada unidade vira um arquivo objeto, e o linker junta todos. Funções e variáveis static de arquivo ficam visíveis só dentro da própria unidade de tradução.
Em código
gcc -c a.c -o a.o
gcc -c b.c -o b.o
gcc a.o b.o -o prog # liga as duasExemplos
Essa função static só existe dentro da unidade de tradução.
Cada unidade de tradução é compilada separadamente e depois linkada.
Cuidado
Confundir com o arquivo .c em si: dois .c que incluem o mesmo .h têm cópias diferentes dele, uma em cada unidade.
Sinônimos
translation unit