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