component
pragma
Controla a coleta de informações de navegação ou informações sobre dependências nos arquivos de origem.
Sintaxe
#pragma component( browser,
on
off
| { } [,
references
[,
nome ] ])
#pragma component( minrebuild,
on
|off
{ })
#pragma component( mintypeinfo,
on
|off
{ })
Comentários
Navegador
Você pode ativar ou desativar a coleta e pode especificar nomes a serem ignorados à medida que as informações são coletadas.
O uso de on ou off controla a coleta de informações de navegação do pragma em diante. Por exemplo:
#pragma component(browser, off)
interrompe a coleta de informações de navegação pelo compilador.
Observação
Para ativar a coleta de informações de navegação com esse pragma, primeiro é preciso habilitar as informações de navegação.
A opção references
pode ser usada com ou sem o argumento name. Usar references
sem name ativa ou desativa a coleta de referências (porém, outras informações de navegação continuam a ser coletadas). Por exemplo:
#pragma component(browser, off, references)
interrompe a coleta de informações sobre referências pelo compilador.
Usar references
com name e off
impede que as referências a name apareçam na janela de informações de navegação. Use essa sintaxe para ignorar nomes e tipos nos quais você não está interessado e para reduzir o tamanho dos arquivos de informações de navegação. Por exemplo:
#pragma component(browser, off, references, DWORD)
ignora referências a DWORD desse ponto em diante. Você pode reativar a coleta de referências a DWORD usando on
:
#pragma component(browser, on, references, DWORD)
Essa é a única maneira de retomar a coleta de referências a name; você deve ativar explicitamente qualquer name que desativar.
Para impedir que o pré-processador expanda name (por exemplo, expanda NULL para 0), coloque-o entre aspas:
#pragma component(browser, off, references, "NULL")
Recompilação mínima
O recurso (Habilitar recompilação mínima) /Gm
do Visual C++ requer que o compilador crie e armazene informações sobre dependências das classes do C++, o que ocupa bastante espaço em disco. Para economizar espaço em disco, você pode usar #pragma component( minrebuild, off )
sempre que não precisar coletar informações sobre dependências, por exemplo, em arquivos de cabeçalho inalterados. Insira #pragma component( minrebuild, on )
após as classes inalteradas para reativar a coleta de dependências.
Reduzir informações de tipo
A opção mintypeinfo
reduz as informações de depuração para a região especificada. O volume dessas informações é considerável, afetando arquivos .pdb e .obj. Não é possível depurar classes e estruturas na região mintypeinfo
. O uso da opção mintypeinfo
pode ser útil para evitar o seguinte aviso:
LINK : warning LNK4018: too many type indexes in PDB "filename", discarding subsequent type information
Para obter mais informações, consulte a opção de compilador (Habilitar Recompilação Mínima) /Gm
.