Compartilhar via


/DELAY (Configurações da importação de carga com atraso)

Opções do vinculador para controlar o carregamento atrasado de DLLs no runtime.

Sintaxe

/DELAY:UNLOAD
/DELAY:NOBIND

Comentários

A opção /DELAY controla o carregamento atrasado de DLLs:

  • O qualificador /DELAY:UNLOAD pede para a função de ajuda de carregamento atrasado dar suporte ao descarregamento explícito da DLL. A IAT (tabela de endereço de importação) é redefinida como forma original, invalidando ponteiros IAT e fazendo-os serem substituídos.

    Se você não selecionar /DELAY:UNLOAD, qualquer chamada a __FUnloadDelayLoadedDLL falhará.

  • O qualificador /DELAY:NOBIND pede para o vinculador não incluir uma IAT associável na imagem final. O padrão é criar a IAT associável para DLLs carregadas com atraso. A imagem resultante não pode ser limitada estaticamente. (Imagens com IATs associáveis podem ser associadas estaticamente antes da execução). Para obter mais informações, consulte /BIND.

    Se a DLL estiver vinculada, a função auxiliar tentará usar as informações vinculadas em vez de chamar GetProcAddress em cada uma das importações referenciadas. Se o carimbo de data/hora ou o endereço preferencial não corresponder aos da DLL carregada, a função auxiliar assume que o IAT vinculado está desatualizado. Isso continua como se o IAT vinculado não existisse.

    /DELAY:NOBIND faz com que a imagem do programa seja maior, mas pode acelerar o tempo de carregamento da DLL. Se você não pretende vincular a DLL nunca, /DELAY:NOBIND impede que o IAT vinculado seja gerado.

Para especificar DLLs para carregamento com atraso, use a opção /DELAYLOAD.

Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para mais informações, consulte Definir propriedades de build e do compilador.

  2. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Avançado.

  3. Modifique a propriedade DLL carregada com atraso de descarregamento ou a propriedade DLL carregada com atraso de desvinculação. Escolha OK ou Aplicar para salvar as alterações.

Para definir esta opção do vinculador por meio de programação

Confira também

Referência de vinculador MSVC
Opções de vinculador MSVC