Compartilhar via


Opções do vinculador

LINK.exe vincula arquivos e bibliotecas de objetos COFF (Common Object File Format) para criar um arquivo executável (EXE) ou uma DLL (biblioteca de vínculo dinâmico).

A tabela a seguir lista opções para LINK.exe. Para obter mais informações sobre LINK, consulte:

Na linha de comando, as opções de vinculador não diferenciam maiúsculas de minúsculas. Por exemplo, /base e /BASE significam a mesma coisa. Para obter detalhes sobre como especificar cada opção na linha de comando ou no Visual Studio, consulte a documentação para essa opção.

Você pode usar o pragma comment para especificar algumas opções de vinculador.

Opções do vinculador listadas em ordem alfabética

Opção Finalidade
@ Especifica um arquivo de resposta.
/ALIGN Especifica o alinhamento de cada seção.
/ALLOWBIND Especifica que uma DLL não pode ser limitada.
/ALLOWISOLATION Especifica o comportamento da pesquisa de manifesto.
/APPCONTAINER Especifica se o aplicativo deve ser executado em um ambiente de processo appcontainer.
/ARM64XFUNCTIONPADMINX64 Especifica o número mínimo de bytes de preenchimento entre funções x64 em imagens ARM64X.17.8
/ASSEMBLYDEBUG Adiciona o DebuggableAttribute a uma imagem gerenciada.
/ASSEMBLYLINKRESOURCE Cria um link a um recurso gerenciado.
/ASSEMBLYMODULE Especifica que um módulo MSIL (Microsoft Intermediate Language) deve ser importado para o assembly.
/ASSEMBLYRESOURCE Insere um arquivo de recurso gerenciado em um assembly.
/BASE Define um endereço básico para o programa.
/CETCOMPAT Marca o binário como compatível com o CET Shadow Stack.
/CGTHREADS Define o número de threads cl.exe a serem usados na otimização e na geração do código quando a geração do código de tempo de vinculação é especificada.
/CLRIMAGETYPE Define o tipo (IJW, puro ou seguro) de uma imagem do CLR.
/CLRSUPPORTLASTERROR Preserva o código de erro mais recente de funções chamadas por meio do mecanismo P/Invoke.
/CLRTHREADATTRIBUTE Especifica o atributo de threading a ser aplicado ao ponto de entrada do programa do CLR.
/CLRUNMANAGEDCODECHECK Especifica se o vinculador aplica o SuppressUnmanagedCodeSecurity atributo a stubs P/Invoke gerados pelo vinculador que chamam de código gerenciado para DLLs nativas.
/DEBUG Cria informações de depuração.
/DEBUGTYPE Especifica quais dados incluir nas informações de depuração.
/DEF Passa um arquivo de definição do módulo (.def) para o vinculador.
/DEFAULTLIB Pesquisa a biblioteca especificada quando referências externas são resolvidas.
/DELAY Controla o carregamento atrasado de DLLs.
/DELAYLOAD Causa o carregamento atrasado da DLL especificada.
/DELAYSIGN Assina parcialmente um assembly.
/DEPENDENTLOADFLAG Define sinalizadores padrão em cargas DLL dependentes.
/DLL Compila uma DLL.
/DRIVER Cria um driver de modo kernel.
/DYNAMICBASE Especifica se é necessário gerar uma imagem executável que tenha a base trocada no momento do carregamento usando o recurso ASLR (Address Space Layout Randomization).
/ENTRY Define o endereço inicial.
/ERRORREPORT Preterido. O relatório de erros é controlado por configurações do WER (Relatório de Erros do Windows).
/EXPORT Exporta uma função.
/FILEALIGN Alinha seções dentro do arquivo de saída em múltiplos de um valor especificado.
/FIXED Cria um programa que só pode ser carregado em seu endereço básico preferido.
/FORCE Força a conclusão de um link mesmo com símbolos não resolvidos ou símbolos definidos mais de uma vez.
/FUNCTIONPADMIN Cria uma imagem que pode receber um hotpatch.
/GENPROFILE, /FASTGENPROFILE Ambas as opções especificam a geração de um arquivo .pgd pelo vinculador para dar suporte à PGO (otimização guiada por perfil). /GENPROFILE e /FASTGENPROFILE usam parâmetros padrão diferentes.
/GUARD Habilita a proteção do proteção de fluxo de controle.
/HEAP Define o tamanho do heap, em bytes.
/HIGHENTROPYVA Especifica o suporte para ASLR (Address Space Layout Randomization) de 64 bits de alta entropia.
/IDLOUT Especifica o nome do arquivo .idl e outros arquivos de saída MIDL.
/IGNORE Suprime a saída de avisos do vinculador especificado.
/IGNOREIDL Evita o processamento das informações de atributo em um arquivo .idl.
/ILK Substitui o nome do arquivo de banco de dados incremental padrão.
/IMPLIB Substitui o nome da biblioteca de importação padrão.
/INCLUDE Força referências de símbolo.
/INCREMENTAL Controla a vinculação incremental.
/INFERASANLIBS Usa bibliotecas sanitizer inferidas.
/INTEGRITYCHECK Especifica que o módulo requer uma verificação de assinatura no momento do carregamento.
/KERNEL Crie um binário no modo kernel.
/KEYCONTAINER Especifica um contêiner de chave para assinar um assembly.
/KEYFILE Especifica uma chave ou um par de chaves para assinar um assembly.
/LARGEADDRESSAWARE Informa ao compilador que o aplicativo oferece suporte a endereços maiores que 2 gigabytes
/LIBPATH Especifica um caminho a ser pesquisado antes do caminho da biblioteca ambiental.
/LINKREPRO Especifica um caminho para gerar artefatos de reprodução de link.
/LINKREPROFULLPATHRSP Gera um arquivo de resposta contendo os caminhos absolutos para todos os arquivos que o vinculador usou como entrada.
/LINKREPROTARGET Gera uma reprodução de link somente ao produzir o destino especificado.16.1
/LTCG Especifica a geração do código de tempo de vinculação.
/MACHINE Especifica a plataforma de destino.
/MANIFEST Cria um arquivo de manifesto lado a lado e, como opção, o insere no binário.
/MANIFESTDEPENDENCY Especifica uma seção <dependentAssembly> no arquivo de manifesto.
/MANIFESTFILE Altera o nome padrão do arquivo de manifesto.
/MANIFESTINPUT Especifica um arquivo de entrada do manifesto para o vinculador processar e inserir no binário. É possível usar essa opção várias vezes para especificar mais de um arquivo de entrada do manifesto.
/MANIFESTUAC Especifica se as informações do UAC (Controle de Conta de Usuário) estão inseridas no manifesto do programa.
/MAP Cria um arquivo de mapa.
/MAPINFO Inclui as informações especificadas no arquivo de mapa.
/MERGE Combina seções.
/MIDL Especifica opções de linha de comando MIDL.
/NATVIS Adiciona visualizadores de depurador de um arquivo Natvis ao banco de dados do programa (PDB).
/NOASSEMBLY Suprime a criação de um assembly do .NET Framework.
/NODEFAULTLIB Ignora todas as bibliotecas padrão (ou as especificadas) quando as referências externas são resolvidas.
/NOENTRY Cria uma DLL somente de recursos.
/NOFUNCTIONPADSECTION Desabilita o preenchimento de função para funções na seção especificada.17.8
/NOLOGO Suprime a faixa de inicialização.
/NXCOMPAT Marca um executável como verificado como compatível com o recurso Prevenção de Execução de Dados do Windows.
/OPT Controla otimizações de LINK.
/ORDER Coloca COMDATs na imagem em uma ordem predeterminada.
/OUT Especifica o nome do arquivo de saída.
/PDB Cria um arquivo PDB.
/PDBALTPATH Usa um local alternativo para salvar um arquivo PDB.
/PDBSTRIPPED Cria um arquivo de PDB sem símbolos particulares.
/PGD Especifica um arquivo .pgd para otimizações guiadas por perfil.
/POGOSAFEMODE Obsolete Cria um build instrumentado PGO com thread-safe.
/PROFILE Produz um arquivo de saída que pode ser usado com o criador de perfil de Ferramentas de desempenho.
/RELEASE Define a soma de verificação no cabeçalho .exe.
/SAFESEH Especifica que a imagem conterá uma tabela de manipuladores de exceção segura.
/SECTION Substitui os atributos de uma seção.
/SOURCELINK Especifica um arquivo SourceLink a ser adicionado ao PDB.
/STACK Define o tamanho da pilha, em bytes.
/STUB Anexa um programa stub MS-DOS a um programa Win32.
/SUBSYSTEM Informa ao sistema operacional como executar o arquivo .exe.
/SWAPRUN Pede para o sistema operacional copiar a saída do vinculador em um arquivo de troca antes de ser executado.
/TIME O vinculador de saída passa informações de tempo.
/TLBID Especifica a ID de recurso da biblioteca de tipos gerada pelo vinculador.
/TLBOUT Especifica o nome do arquivo .tlb e outros arquivos de saída MIDL.
/TSAWARE Cria um aplicativo projetado especialmente para ser executado no Terminal Server.
/USEPROFILE Usa dados de treinamento de otimização guiada por perfil para criar uma imagem otimizada.
/VERBOSE Imprime mensagens de andamento do vinculador.
/VERSION Atribui um número de versão.
/WHOLEARCHIVE Inclui todos os arquivos de objeto de bibliotecas estáticas especificadas.
/WINMD Habilita a geração de um arquivo de Metadados do Windows Runtime.
/WINMDFILE Especifica o nome de arquivo para o arquivo de saída de winmd (Windows Runtime Metadata) gerado pela opção de vinculador /WINMD.
/WINMDKEYFILE Especifica uma chave ou um par de chaves para assinar um arquivo de Metadados do Windows Runtime.
/WINMDKEYCONTAINER Especifica um contêiner de chave para assinar um arquivo de Metadados do Windows.
/WINMDDELAYSIGN Assina parcialmente um arquivo de metadados do Tempo de Execução do Windows (.winmd) colocando a chave pública no arquivo winmd.
/WX Trata avisos de vinculador como erros.

16.1 Essa opção está disponível a partir do Visual Studio 2019 versão 16.1.
17.8 Essa opção está disponível a partir do Visual Studio 2022 versão 17.8.

Confira também

Referência de compilação C/C++
Referência de vinculador MSVC