ExpertiDict

C++ · Avançado · Inglês · Técnico

translation unit

tɹænˈsleɪ.ʃən ˈjuː.nɪtsubstantivo

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    # linka

Exemplos

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

Veja também

Todos os termos de C++