Pré-compilador para o gcc

Recentemente escrevi um programa que faz a inclusão de bibliotecas “locais” no código. Isso é uma das coisas que o gcc faz no primeiro passo na hora de compilar, porém também inclui as bibliotecas padrões, substitui as macros, etc. O que motivou a fazê-lo foi a necessidade de enviar apenas um arquivo de código-fonte de tamanho limitado para ser compilado remotamente em um servidor.

Como o servidor não possuia minhas bibliotecas “locais”, eu deveria inclui-las no único arquivo enviado. Uma possibilidade seria pré-compilar o código fonte com o próprio gcc usando o parâmetro -E. Entretanto, bibliotecas padrões tipo o “stdio.h” são muito extensas e o tamanho do código a ser enviado era limitado.

Esse pré-compilador é então adaptado para incluir apenas bibliotecas que se encontram em diretórios passados por parâmetro. Ele também processa macros da forma #ifndef – #define – #endif usadas em bibliotecas para que o código não seja incluído mais de uma vez.

Uma pequena documentação e o código podem ser acessados aqui.

Os comentários estão fechados.

%d bloggers like this: