/INCREMENTAL
(vincular de maneira incremental)
Especifica se é necessário vincular incrementalmente ou sempre executar uma vinculação completa.
Sintaxe
/INCREMENTAL
[:NO
]
Comentários
A opção de vinculador /INCREMENTAL
controla como o vinculador lida com a vinculação incremental.
Por padrão, o vinculador é executado no modo incremental. Para substituir uma vinculação incremental padrão, especifique /INCREMENTAL:NO
.
Um programa incrementalmente vinculado é funcionalmente equivalente a um programa vinculado de forma não incremental. No entanto, como ele é preparado para vinculações incrementais subsequentes, um executável, uma biblioteca estática ou um arquivo .dll vinculado de maneira incremental:
É maior do que um programa vinculado não incrementalmente devido ao preenchimento de código e dados. O preenchimento permite que o vinculador aumente o tamanho das funções e dos dados sem recriar o arquivo .exe.
Pode conter conversões de atalho para manipular a realocação de funções para novos endereços.
Observação
Para garantir que a compilação da versão final não tenha preenchimento ou conversões, vincule seu programa de maneira não incremental.
Para vincular de maneira incremental independentemente do padrão, especifique /INCREMENTAL
. Quando essa opção está selecionada, o vinculador emitirá um aviso se não puder vincular de maneira incremental e vinculará o programa de maneira não incremental. Determinadas opções e situações substituem /INCREMENTAL
.
A maioria dos programas pode ser vinculada incrementalmente. Entretanto, algumas alterações são muito grandes e algumas opções são incompatíveis com a vinculação incremental. O LINK executa uma vinculação completa se qualquer uma das seguintes opções for especificada:
A vinculação incremental não está selecionada (
/INCREMENTAL:NO
)/OPT:REF
está selecionada/OPT:ICF
está selecionada/OPT:LBR
está selecionada/ORDER
está selecionada
/INCREMENTAL
é implícita quando /DEBUG
é especificada.
Além disso, o LINK executa uma vinculação completa se qualquer uma das seguintes situações ocorrer:
Está faltando o arquivo de status incremental (
.ilk
). (O LINK cria um novo arquivo.ilk
em preparação para a vinculação incremental subsequente).Não há permissão de gravação para o arquivo
.ilk
. (O LINK ignora o arquivo.ilk
e o vincula de maneira não incremental).O arquivo de saída
.exe
ou.dll
está ausente.O carimbo de data/hora da classe
.ilk
,.exe
ou.dll
foi alterado.Uma opção LINK foi modificada. A maioria das opções LINK, quando alteradas entre as compilações, causa uma vinculação completa.
Um arquivo de objeto (
.obj
) foi adicionado ou omitido.
Uma vinculação incremental cria ou atualiza um arquivo de banco de dados de vinculação incremental .ilk
. Você pode especificar o nome e o local desse arquivo usando a opção do vinculador /ILK
(nomear arquivo de banco de dados incremental). Para obter mais informações sobre o arquivo .ilk
, confira arquivos .ilk
como entrada do vinculador.
Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades da Configuração>Vinculador>Geral.
Modifique a propriedade Habilitar Vinculação Incremental.
Para definir esta opção do vinculador por meio de programação
- Consulte LinkIncremental.
Confira também
Referência de vinculador MSVC
Opções de vinculador MSVC
Arquivos .ilk
como entrada do vinculador