C · Intermediário · Português · Técnico
etapas da compilação
Fases pelas quais o gcc leva um .c até o executável: pré-processamento, compilação para assembly, montagem em arquivo objeto e ligação com outras bibliotecas pelo linker.
Onde usar
Entender as etapas ajuda a localizar o erro: sintaxe vem da compilação, 'undefined reference' vem da ligação. As flags -E, -S e -c fazem o gcc parar em cada fase.
Em código
gcc -E main.c -o main.i # pré-processa
gcc -S main.i -o main.s # gera assembly
gcc -c main.s -o main.o # objeto
gcc main.o -o prog # ligaExemplos
Roda só o pré-processador com -E para ver o que a macro virou.
O erro é da ligação, a compilação passou bem.
Cuidado
Tratar compilar e ligar como a mesma coisa; erros de ligação só aparecem depois que todos os arquivos compilaram.
Sinônimos
pipeline de build