listam os arquivos de cabeçalho usados por um projeto compilado com o gcc junto com a hierarquia

5

Atualmente, tenho um projeto C ++ que abrange dois sistemas de controle de origem diferentes. Sem verificar o código-fonte completo completo do primeiro sistema para o segundo sistema, planejo verificar apenas as bibliotecas de suporte que são construídas. Meu problema é que precisarei de arquivos de cabeçalho do primeiro sistema de controle de origem que eu uso no segundo sistema de controle de origem para que eu possa compilar. Existe uma maneira fácil de forçar o gcc a saída de todos os nomes dos arquivos de cabeçalho que eu uso quando eu compilar no Solaris? Existe uma maneira de gerar uma hierarquia de dependências de arquivo de cabeçalho para que eu possa ver quais arquivos estão incluindo quais outros arquivos de cabeçalho? É possível que a hierarquia saiba sobre o #pragma uma vez, para que a árvore de dependência não inclua duplicatas que não sejam incluídas várias vezes?

    
por Andrew Stern 08.09.2011 / 15:28

2 respostas

3

Execute gcc -M para gerar a lista de arquivos de cabeçalho usados por um determinado arquivo de origem ou gcc -MM para omitir cabeçalhos de sistema. A saída está em um formato makefile, já que a opção destina-se a gerar as dependências de construção desse arquivo de origem. Existem maneiras de ajustar o formato de saída, consulte as opções de pré-processador disponíveis no manual do GCC. A saída padrão é assim:

foo.o: foo.c some_header.h ../include/other_header.h \
        ../../common/include/yet_another_header.h
    
por 09.09.2011 / 01:47
0

Este artigo de 1992 de algumas pessoas da AT & T Research descreve uma ferramenta "incl" que faz isso para arquivos C, mas, até onde eu sei, "incl" nunca chegou ao grande mundo.

    
por 08.09.2011 / 17:05

Tags