Pergunta

O acompanhamento do presente pergunta:

Quando eu include <iostream>.
Acontece que inclui muitos arquivos a partir de /usr/include .Um grep "\usr\include" mais g++ -E prog.cpp contados a cerca de 1260 entradas ;).

É a sua forma de controle, incluindo vários arquivos?
Plataforma:Linux
G++ versão:4.2.4

Foi útil?

Solução

Não, <iostream> inclui-los porque depende-los diretamente, ou é dependências dependem deles.

Não é nada que você possa fazer sobre isso.

Você pode (dependendo do seu compilador) limitar o efeito que isso tem sobre tempo de compilação usando Precompiled cabeçalhos

Outras dicas

A minha sugestão é não se preocupar com quantos arquivos o compilador está incluindo.Concentrar-se mais no exatidão, robustez, e programação.Se o tempo de construção é uma preocupação, obter um computador mais rápido, construir durante a noite, um passeio a pé, ou dividir o código em menor conversão de unidades.Unidades de tradução devem ser pequenas o suficiente para conter o código que não são alterados com freqüência. Mudanças são do MAL.

A fundação do sistema de compilação é para compilar apenas os poucos arquivos que foram alterados.Se o seu processo de desenvolvimento está a funcionar correctamente, o tempo de compilação vai ficar mais e mais na fase de vinculação como o projeto cresce.

Se o tempo de compilação é ainda longa, veja se o seu compilador suporta cabeçalhos pré-compilados.Geralmente, este é o método para o compilador para armazenar todas as definições e declarações em uma forma mais eficiente.

Você #include <iostream> quando você precisa usar correntes. Que deve definir algumas coisas que você precisa. Quanta atividade que precisa de fazer isso é uma questão de qualidade de implementação. Você pode remover arquivos de /usr/include, mas que iria quebrar as coisas.

Eu realmente duvido que ele está incluindo 1260 arquivos. Quase certamente a maioria dos que são entradas duplicadas que não carregam qualquer coisa, mas não são podadas a partir da saída -E.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top