Partilhar via


Opções do vinculador

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

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

As opções do 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 dessa 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 vinculada.
/ALLOWISOLATION Especifica o comportamento para 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 para um recurso gerenciado.
/ASSEMBLYMODULE Especifica que um módulo de linguagem intermediária da Microsoft (MSIL) deve ser importado para o assembly.
/ASSEMBLYRESOURCE Incorpora um arquivo de recurso gerenciado em um assembly.
/BASE Define um endereço base para o programa.
/CETCOMPAT Marca o binário como compatível com CET Shadow Stack.
/CGTHREADS Define o número de threads de cl.exe a serem usados para otimização e geração de código quando a geração de código em tempo de link é especificada.
/CLRIMAGETYPE Define o tipo (IJW, puro ou seguro) de uma imagem CLR.
/CLRSUPPORTLASTERROR Preserva o último código de erro de funções que são chamadas através do mecanismo P/Invoke.
/CLRTHREADATTRIBUTE Especifica o atributo de threading a ser aplicado ao ponto de entrada do seu programa CLR.
/CLRUNMANAGEDCODECHECK Especifica se o vinculador aplica o atributo SuppressUnmanagedCodeSecurity a stubs P/Invoke gerados pelo vinculador que chamam do código gerenciado para DLLs nativas.
/DEBUG Cria informações de depuração.
/DEBUGTYPE Especifica quais dados devem ser incluídos nas informações de depuração.
/DEF Passa um arquivo de definição de módulo (.def) para o vinculador.
/DEFAULTLIB Pesquisa a biblioteca especificada quando as referências externas são resolvidas.
/DELAY Controla o carregamento atrasado de DLLs.
/DELAYLOAD Causa o atraso no carregamento da DLL especificada.
/DELAYSIGN Assina parcialmente uma assembleia.
/DEPENDENTLOADFLAG Define sinalizadores padrão em cargas de DLL dependentes.
/DLL Cria uma DLL.
/DRIVER Cria um driver de modo kernel.
/DYNAMICBASE Especifica se uma imagem executável deve ser rebaseada no tempo de carregamento usando o recurso ASLR (Address Space Layout Randomization).
/DYNAMICDEOPT Habilite de depuração dinâmica (visualização) C++ e entre em qualquer lugar com a desotimização de função sob demanda.
/ENTRY Define o endereço inicial.
/ERRORREPORT Preterido. O relatório de erros é controlado pelas configurações de Relatório de Erros do Windows (WER).
/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 pode ser carregado somente em seu endereço base preferido.
/FORCE Força um link a ser concluído mesmo com símbolos não resolvidos ou símbolos definidos mais de uma vez.
/FUNCTIONPADMIN Cria uma imagem que pode ser corrigida a quente.
/GENPROFILE, /FASTGENPROFILE Ambas as opções especificam a geração de um arquivo .pgd pelo vinculador para oferecer suporte à otimização guiada por perfil (PGO). /GENPROFILE e /FASTGENPROFILE usam parâmetros padrão diferentes.
/GUARD Permite a proteção do Control Flow Guard.
/HEAP Define o tamanho da pilha, em bytes.
/HIGHENTROPYVA Especifica o suporte para ASLR (randomização de layout de espaço de endereçamento 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 de vinculador especificados.
/IGNOREIDL Impede o processamento de informações de atributo em um arquivo de .idl.
/ILK Substitui o nome do arquivo de banco de dados incremental padrão.
/IMPLIB Substitui o nome padrão da biblioteca de importação.
/INCLUDE Referências de símbolos de forças.
/INCREMENTAL Controla a vinculação incremental.
/INFERASANLIBS Usa bibliotecas de desinfetantes inferidas.
/INTEGRITYCHECK Especifica que o módulo requer uma verificação de assinatura no momento do carregamento.
/KERNEL Crie um binário do modo kernel.
/KEYCONTAINER Especifica um contêiner de chave para assinar um assembly.
/KEYFILE Especifica uma chave ou par de chaves para assinar um assembly.
/LARGEADDRESSAWARE Informa ao compilador que o aplicativo suporta 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 em.
/LINKREPROFULLPATHRSP Gera um arquivo de resposta contendo os caminhos absolutos para todos os arquivos que o vinculador tomou como entrada.
/LINKREPROTARGET Gera uma reprodução de link somente ao produzir o destino especificado.16,1
/LTCG Especifica a geração de código de tempo de link.
/MACHINE Especifica a plataforma de destino.
/MANIFEST Cria um arquivo de manifesto lado a lado e, opcionalmente, incorpora-o 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 de manifesto para o vinculador processar e incorporar no binário. Você pode usar essa opção várias vezes para especificar mais de um arquivo de entrada de manifesto.
/MANIFESTUAC Especifica se as informações de Controle de Conta de Usuário (UAC) são incorporadas no manifesto do programa.
/MAP Cria um mapfile.
/MAPINFO Inclui as informações especificadas no mapfile.
/MERGE Combina secções.
/MIDL Especifica as opções de linha de comando MIDL.
/NATVIS Adiciona visualizadores de depurador de um arquivo Natvis ao banco de dados de programas (PDB).
/NOASSEMBLY Suprime a criação de um assembly do .NET Framework.
/NODEFAULTLIB Ignora todas (ou as especificadas) bibliotecas padrão quando as referências externas são resolvidas.
/NOENTRY Cria uma DLL somente de recurso.
/NOFUNCTIONPADSECTION Desabilita o preenchimento de funções para funções na seção especificada.17,8
/NOLOGO Suprime o banner 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 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 PDB que não tem símbolos privados.
/PGD Especifica um arquivo de .pgd para otimizações guiadas por perfil.
/POGOSAFEMODE Obsoleto Cria uma compilação instrumentada PGO segura para threads.
/PROFILE Produz um arquivo de saída que pode ser usado com o criador de perfil 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 seguros.
/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 de stub MS-DOS a um programa Win32.
/SUBSYSTEM Informa ao sistema operacional como executar o arquivo .exe.
/SWAPRUN Diz ao sistema operacional para copiar a saída do vinculador para um arquivo de permuta antes que ele seja executado.
/TIME Informações de tempo de passagem do vinculador de saída.
/TLBID Especifica a ID do 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 especificamente para ser executado no Terminal Server.
/USEPROFILE Usa dados de treinamento de otimização guiados por perfil para criar uma imagem otimizada.
/VERBOSE Imprime mensagens de progresso do vinculador.
/VERSION Atribui um número de versão.
/WHOLEARCHIVE Inclui todos os arquivos de objeto de bibliotecas estáticas especificadas.
/WINMD Permite a geração de um arquivo de metadados do Tempo de Execução do Windows.
/WINMDFILE Especifica o nome do arquivo de saída de Metadados do Tempo de Execução do Windows (winmd) gerado pela opção de vinculador /WINMD.
/WINMDKEYFILE Especifica uma chave ou par de chaves para assinar um arquivo de metadados do Tempo de Execução do Windows.
/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 os avisos do vinculador como erros.

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

Ver também

Referência de Construção de C/C++
de referência do vinculador MSVC