Partilhar via


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

/DELAY:UNLOAD
/DELAY:NOBIND

Comentários

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

  • O qualificador 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 UNLOAD, qualquer chamada para FUnloadDelayLoadedDLL falhará.

  • O qualificador 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 associada estaticamente. (As imagens com IATs associáveis podem ser associadas estaticamente antes da execução.) Consulte /BIND.

    Se a DLL estiver associada, a função auxiliar tentará usar as informações associadas em vez de chamar GetProcAddress em todas as importações mencionadas. Se o carimbo de data/hora ou o endereço preferido não corresponder aos da DLL carregada, a função auxiliar considerará que a IAT associada está desatualizada e continuará como se a IAT associada não existisse.

    NOBIND aumenta a imagem do programa, mas pode agilizar o tempo de carregamento da DLL. Se você jamais teve a intenção associar a DLL, NOBIND evitará a geração da IAT associada.

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 obter informações, consulte Trabalhando com propriedades do projeto.

  2. Expanda Propriedades de Configuração, Vinculador e selecione Avançado.

  3. Modifique a propriedade DLL Carregada com Atraso.

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

Consulte também

Referência

Definindo opções de vinculador

Opções de vinculador