Compartilhar via


# include diretiva (C/C++)

O #include diretiva informa o pré-processador para tratar o conteúdo de um arquivo especificado, como se esse conteúdo tivesse aparecido no programa de origem no ponto em que a diretiva é exibida.

#include  "path-spec"
#include  <path-spec>

Comentários

Você pode organizar as definições de constante e macro em arquivos de inclusão e, em seguida, use #include diretivas para adicionar essas definições para qualquer arquivo de origem.Incluir arquivos também são úteis para a incorporação de declarações de variáveis externas e tipos de dados complexos.Você precisará definir e nomear os tipos de apenas uma vez em um arquivo de inclusão, criado para essa finalidade.

O caminho-spec é um nome de arquivo, precedido por uma especificação de diretório.O nome do arquivo deve nomear um arquivo existente.A sintaxe da caminho-spec depende do sistema operacional no qual o programa será compilado.

Para obter informações sobre como os assemblies de referência em um aplicativo de C++ compilado com /clr, consulte # using.

As duas formas de sintaxe causam a substituição dessa diretiva, todo o conteúdo do arquivo incluir especificado.A diferença entre as duas formas é a ordem na qual o pré-processador procura por arquivos de cabeçalho quando o caminho é especificado de forma incompleta.A tabela a seguir mostra a diferença entre as duas formas de sintaxe:

Formulário de sintaxe

Ação

Formulário entre aspas

O pré-processador procura por arquivos de inclusão na seguinte ordem:

  1. No mesmo diretório que o arquivo que contém o #include instrução.

  2. Nos diretórios de qualquer aberto anteriormente inclua arquivos na ordem inversa em que foram abertos.A pesquisa começa a partir do diretório do arquivo incluir que foi aberto pela última vez e continua através do diretório do arquivo incluir que foi aberto pela primeira vez.

  3. Ao longo do caminho especificado por cada opção de compilador/i.

  4. Ao longo de caminhos especificados pela variável de ambiente INCLUDE.

Formulário colchete angular

O pré-processador procura por arquivos de inclusão na seguinte ordem:

  1. Ao longo do caminho especificado por cada opção de compilador/i.

  2. Durante a compilação da linha de comando, ao longo de caminhos são especificados pela variável de ambiente INCLUDE.

O pré-processador pára a busca assim que ele localiza um arquivo com o nome fornecido.Se você especificar uma especificação de caminho completo e inequívoca para o arquivo de inclusão entre aspas duplas (""), o pré-processador essa especificação de caminho de pesquisa e ignora os diretórios padrão.

Se o nome de arquivo entre aspas duplas é uma especificação de caminho incompleto, o pré-processador primeiro pesquisa a pasta do arquivo "pai".Um arquivo pai é o arquivo que contém o #include diretiva.Por exemplo, se você incluir um arquivo chamado file2 dentro de um arquivo chamado file1, file1 é o arquivo pai.

Incluir arquivos que podem ser "aninhados". ou seja, um #include diretiva pode aparecer em um arquivo chamado por outro #include diretiva.Por exemplo, file2, acima, poderia incluir file3.Nesse caso, file1 ainda será o pai do file2 , mas seria o "avô" de file3.

Quando inclui arquivos que estão aninhados e durante a compilação da linha de comando, a pesquisa de diretório começa com os diretórios do arquivo pai e passa para os diretórios de arquivos avô.Assim, a pesquisa começa em relação ao diretório que contém a fonte que está sendo processada no momento.Se o arquivo não for encontrado, a pesquisa se move para diretórios especificados pela opção de compilador/i.Finalmente, os diretórios especificados pela variável de ambiente INCLUDE são pesquisados.

De dentro do ambiente de desenvolvimento, a variável de ambiente INCLUDE é ignorado.Para definir os diretórios procurados arquivos de inclusão (essas informações também se aplica a variável de ambiente LIB.), consulte diretórios VC + +, projetos, a caixa de diálogo Opções de.

O exemplo a seguir mostra a inclusão de arquivo usando colchetes angulares:

#include <stdio.h>

Este exemplo adiciona o conteúdo do arquivo chamado STDIO.H para o programa de origem.Os colchetes angulares causar o pré-processador pesquisar os diretórios especificados pela variável de ambiente INCLUDE para STDIO.H, depois de pesquisar diretórios especificados pela opção de compilador/i.

O exemplo a seguir mostra a inclusão de arquivo usando o formulário entre aspas:

#include "defs.h"

Este exemplo adiciona o conteúdo do arquivo especificado por definições do.H para o programa de origem.As aspas duplas significam que o pré-processador pesquisa o diretório que contém o arquivo de origem pai pela primeira vez.

O aninhamento de arquivos de inclusão pode continuar até 10 níveis.Uma vez o aninhadas #include é processada, o pré-processador continua inserir o arquivo de inclusão de fechamento no arquivo original.

Específicos do Microsoft

Para localizar os arquivos de origem includable, o pré-processador procura primeiro os diretórios especificado pela opção de compilador/i.Se a opção /I não está presente ou falha, o pré-processador usa a variável de ambiente INCLUDE para localizar os arquivos de inclusão dentro de colchetes angulares.A opção de compilador do incluir ambiente variável e /I pode conter vários caminhos separados por ponto e vírgula (;).Se mais de uma pasta for exibido como parte da opção /I ou variável de ambiente INCLUDE, o pré-processador procura-los na ordem em que aparecem.

Por exemplo, o comando

CL /ID:\MSVC\INCLUDE MYPROG.C

faz com que o pré-processador pesquisar o diretório D:\MSVC\INCLUDE para arquivos de inclusão como STDIO.H.Os comandos

SET INCLUDE=D:\MSVC\INCLUDE
CL MYPROG.C

ter o mesmo efeito.Se houver falha em ambos os conjuntos de pesquisas, é gerado um erro fatal do compilador.

Se o nome de arquivo totalmente for especificado para um arquivo de inclusão com um caminho que inclua dois-pontos (por exemplo, F:\MSVC\SPECIAL\INCL\TEST.H), o pré-processador segue o caminho.

Para incluir os arquivos especificados como #include**"caminho-spec"**, a pesquisa de diretório começa com o diretório do arquivo pai e passa para os diretórios de arquivos avô. Assim, a pesquisa começa em relação ao diretório que contém o arquivo de origem que contém o #include diretiva que está sendo processada.Se nenhum arquivo avô e o arquivo não foi encontrado, a pesquisa continua como se o nome de arquivo foram colocadas entre colchetes angulares.

Específicos do Microsoft final

Consulte também

Referência

Diretivas de pré-processador