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