Páginas de propriedades do vinculador

As seguintes propriedades encontram-se em Projeto>>Propriedades de Configuração>Editor de Ligações. Para mais informações sobre o linker, veja CL Invokes the Linker e Linker options.

Página geral de propriedades

Arquivo de saída

A opção /OUT substitui o nome e a localização predefinidos do programa que o vinculador cria.

Mostrar progresso

Imprime mensagens de progresso do vinculador.

Escolhas

  • Não Definido - Sem verbosidade.
  • Mostrar todas as mensagens de progresso - Mostrar todas as mensagens de progresso.
  • Para Bibliotecas Pesquisadas - Apresenta mensagens de progresso indicando apenas as bibliotecas pesquisadas.
  • Sobre o dobramento COMDAT durante a ligação otimizada - Mostra informação sobre a dobra do COMDAT durante a ligação otimizada.
  • Sobre dados removidos durante a ligação otimizada - Apresenta informações sobre funções e dados removidos durante a ligação otimizada.
  • Sobre Módulos incompatíveis com SEH - Apresenta informações sobre módulos incompatíveis com Gestão Segura de Exceções.
  • Sobre a atividade dos linkers relacionada com código gerido - Apresenta informação sobre a atividade dos linkers relacionada com código gerido.

Versão

A opção /VERSION indica ao ligador que coloque um número de versão no cabeçalho do ficheiro .exe ou .dll. Utilize DUMPBIN /HEADERS para ver o campo da versão da imagem e OPTIONAL HEADER VALUES para ver o efeito de /VERSION.

Habilitar vinculação incremental

Permite a vinculação incremental. (/INCREMENTAL, /INCREMENTAL:NO)

Especifica a localização do ficheiro da base de dados de ligação incremental. (/ILK:[name])

Suprimir banner de inicialização

A /NOLOGO opção impede a exibição da mensagem de direitos de autor e do número de versão.

Ignorar biblioteca de importação

Esta propriedade indica ao linker para não ligar qualquer .lib saída gerada por esta build a qualquer projeto dependente. Permite que o sistema do projeto processe ficheiros .dll que não produzem um ficheiro .lib ao serem compilados. Se um projeto depende de outro projeto que produz uma DLL, o sistema do projeto liga automaticamente o .lib ficheiro produzido por esse projeto filho. Esta propriedade pode ser desnecessária em projetos que produzem DLLs COM ou DLLs apenas de recursos, porque estas DLLs não têm exportações significativas. Se uma DLL não tiver exportações, o linker não gera um .lib ficheiro. Se não existir nenhum ficheiro de exportação .lib e o sistema de projeto indicar ao editor de ligações para estabelecer ligação com a DLL em falta, a operação de ligação falha. Use a propriedade Ignorar Importar Biblioteca para resolver este problema. Quando esta propriedade está definida como Sim, o sistema do projeto ignora a presença ou ausência do .lib ficheiro e garante que qualquer projeto que dependa desse projeto não se liga ao ficheiro inexistente .lib .

Para aceder programaticamente a esta propriedade, consulte IgnoreImportLibrary.

Registrar saída

Executa regsvr32.exe /s $(TargetPath) no resultado da compilação, que é válido apenas em projetos .dll. Para projetos .exe , esta propriedade é ignorada. Para registar uma saída de .exe, defina um evento pós-compilação na configuração para efetuar o registo personalizado, sempre necessário para os ficheiros .exe registados.

Para aceder programaticamente a esta propriedade, consulte RegisterOutput.

Redirecionamento por usuário

O registo em Visual Studio tem sido tradicionalmente feito em HKEY_CLASSES_ROOT (HKCR). Com o Windows Vista e sistemas operativos posteriores, para aceder ao HKCR é necessário executar o Visual Studio em modo elevado. Os desenvolvedores nem sempre querem executar no modo elevado, mas ainda precisam lidar com o registo. O redirecionamento por usuário permite que você se registre sem ter que executar no modo elevado.

O redirecionamento por utilizador obriga a que qualquer escrita em HKCR seja redirecionada para HKEY_CURRENT_USER (HKCU). Se a redirecionação por utilizador estiver desativada, pode ocorrer um Erro de Compilação do Project PRJ0050 quando o programa tenta escrever no HKCR.

Diretórios de bibliotecas adicionais

Permite que o usuário substitua o caminho da biblioteca do ambiente. (/LIBPATH:folder)

Especifica se deve ligar os .lib ficheiros produzidos por projetos dependentes. Normalmente, pretende-se incluir os ficheiros .lib na ligação, mas isso pode não ser desejável no caso de determinadas DLLs.

Também pode especificar um .obj ficheiro fornecendo o nome do ficheiro e o caminho relativo, por exemplo, ..\..\MyLibProject\MyObjFile.obj. Se o código-fonte do .obj ficheiro tiver um #include para um cabeçalho pré-compilado, por exemplo, pch.h, então o ficheiro pch.obj está localizado na mesma pasta que MyObjFile.obj. Também deve adicionar pch.obj como uma dependência adicional.

Usar entradas de dependência de biblioteca

Especifica se as entradas para a ferramenta de biblioteca, em vez do próprio arquivo de biblioteca, devem ser usadas ao ligar às saídas de biblioteca das dependências do projeto. Num projeto grande, quando um projeto dependente produz um .lib ficheiro, a ligação incremental é desativada. Se houver muitos projetos dependentes que produzem .lib ficheiros, construir a aplicação pode demorar muito tempo. Quando esta propriedade está definida como Sim, o sistema de projeto liga os ficheiros .obj para os ficheiros .lib produzidos por projetos dos quais este depende, permitindo a ligação incremental.

Para obter informações sobre como aceder à página de propriedades Geral do linker, consulte Definir propriedades do compilador e de compilação.

Especifica se o vinculador deve exibir um indicador de progresso mostrando qual porcentagem do link está concluída. Por defeito, o linker não mostra esta informação de estado. (/LTCG:STATUS|LTCG:NOSTATUS)

Impedir ligação de DLL

/ALLOWBIND:NO define um bit no cabeçalho de uma DLL que indica Bind.exe que a ligação à imagem não é permitida. Poderá não querer que uma DLL seja vinculada se tiver sido assinada digitalmente. (A vinculação invalida a assinatura.)

Tratar o aviso do vinculador como erros

Se esta propriedade estiver definida para Sim (/WX), não é gerado nenhum ficheiro de saída se o linker gerar um aviso.

Forçar saída de arquivo

A /FORCE opção indica ao linker para criar um .exe ficheiro ou DLL mesmo que um símbolo seja referenciado mas não definido (UNRESOLVED), ou seja definido várias vezes (MULTIPLE). Pode criar um ficheiro inválido .exe .

Escolhas

  • Ativado - /FORCE sem argumentos, implica tanto /FORCE:MULTIPLE como /FORCE:UNRESOLVED.
  • Multiply Defined Symbol Only - Use /FORCE:MULTIPLE para criar um ficheiro de saída, mesmo que o LINK encontre mais do que uma definição para um símbolo.
  • Apenas Símbolo Indefinido - Usar /FORCE:UNRESOLVED para criar um ficheiro de saída, independentemente de o LINK encontrar ou não um símbolo indefinido. /FORCE:UNRESOLVED é ignorado se o símbolo do ponto de entrada não for resolvido.

Criar imagem Hot Patchable

Prepara uma imagem para remendo em tempo real.

Escolhas

  • Ativado - Prepara uma imagem para a aplicação de correções rápidas.
  • Apenas imagem x86 - Prepara uma imagem x86 para aplicação de correções a quente.
  • Apenas imagem x64 - Prepara uma imagem x64 para aplicação de correções a quente.
  • Apenas imagem de Itanium - Prepara uma imagem de Itanium para hot patch.

Especificar atributos de seção

A /SECTION opção altera os atributos de uma secção, sobrescrevendo os atributos definidos quando o .obj ficheiro da secção foi compilado.

Página de propriedades de entrada

Dependências adicionais

Especifica itens de dependência extra para adicionar à linha de comandos da ligação, por exemplo kernel32.lib.

Ignorar todas as bibliotecas padrão

A opção /NODEFAULTLIB instrui o ligador a remover uma ou mais bibliotecas predefinidas da lista de bibliotecas em que efetua a pesquisa ao resolver referências externas.

Ignorar bibliotecas padrão específicas

Especifica um ou mais nomes de bibliotecas padrão a serem ignorados. Separe várias bibliotecas com ponto e vírgula. (/NODEFAULTLIB:[name, name, ...])

Arquivo de definição de módulo

A /DEF opção passa um ficheiro de definição de módulo (.def) ao linker. Apenas um .def ficheiro pode ser especificado para LINK.

Adicionar módulo ao conjunto

A /ASSEMBLYMODULE opção permite adicionar uma referência de módulo a um conjunto. As informações de tipo no módulo não estarão disponíveis para o programa de montagem que adicionou a referência do módulo. No entanto, as informações de tipo no módulo estarão disponíveis para qualquer programa que faça referência à montagem.

Incorporar arquivo de recurso gerenciado

/ASSEMBLYRESOURCE incorpora um ficheiro de recurso no ficheiro de saída.

Referências de símbolos de força

A opção /INCLUDE indica ao linker para adicionar um símbolo especificado à tabela de símbolos.

Atrasar DLLs carregadas

A /DELAYLOAD opção causa um atraso no carregamento das DLLs. O nome da dll especifica uma DLL para atrasar o carregamento.

A opção /ASSEMBLYLINKRESOURCE cria uma ligação para um recurso .NET Framework no ficheiro de saída. O vinculador não coloca o arquivo de recurso no arquivo de saída.

Página de propriedades do ficheiro de manifesto

Gerar manifesto

/MANIFEST especifica que o linker deve criar um ficheiro de manifesto lado a lado.

Arquivo de manifesto

/MANIFESTFILE Permite-te mudar o nome padrão do ficheiro manifesto. O nome padrão do ficheiro manifesto é o nome do ficheiro com .manifest anexo.

Dependências de manifesto adicionais

/MANIFESTDEPENDENCY Permite especificar atributos que serão colocados na secção de dependências do ficheiro manifesto.

Permitir isolamento

Especifica o comportamento para pesquisa de manifesto técnico. (/ALLOWISOLATION:NO)

Habilitar o Controle de Conta de Usuário (UAC)

Especifica se o Controlo da Conta de Utilizador está ativado. (/MANIFESTUAC, /MANIFESTUAC:NO)

Nível de execução do UAC

Especifica o nível de execução solicitado para a aplicação quando esta é executada com Controlo de Conta de Utilizador. (/MANIFESTUAC:level=[value])

Escolhas

  • asInvoker - Nível de Execução UAC: como o invocador.
  • highestAvailable - Nível de execução do UAC: mais alto disponível.
  • requireAdministrator - Nível de Execução UAC: requer administrador.

Proteção de Interface de Usuário de Bypass do UAC

Especifica se deve contornar os níveis de proteção da interface do utilizador para outras janelas no ambiente de trabalho. Defina esta propriedade como Sim apenas para aplicações de acessibilidade. (/MANIFESTUAC:uiAccess=[true | false])

Página de propriedades de depuração

Gerar informações de depuração

Esta opção permite a criação de informação de depuração para o .exe ficheiro ou para a DLL.

Escolhas

  • Não - Não produz informação de depuração.
  • Gerar Informação de Depuração - Crie uma base de dados completa de programas (PDB) ideal para distribuição no Microsoft Symbol Server.
  • Gerar Informação de Depuração otimizada para ligações mais rápidas - Produz um PDB ideal para um ciclo rápido de edição-ligação-depuração.
  • Gerar Informação de Depuração otimizada para partilha e publicação - Produz um PDB ideal para um ciclo partilhado de edição-ligação-depuração.

Gerar arquivo de banco de dados do programa

Por predefinição, quando /DEBUG é especificada, o ligador cria um PDB que contém informações de depuração. O nome padrão do ficheiro para o PDB tem o nome base do programa e a extensão .pdb.

Remover símbolos privados

A /PDBSTRIPPED opção cria um segundo ficheiro PDB quando constróis a imagem do teu programa com qualquer uma das opções do compilador ou do linker que geram um ficheiro PDB (/DEBUG, /Z7, /Zd, ou /Zi).

Gerar arquivo de mapa

A opção /MAP indica ao ligador para criar um ficheiro de mapa.

Nome do arquivo do mapa

Um nome especificado pelo usuário para o mapfile. Ele substitui o nome padrão.

Exportação de Mapas

A opção /MAPINFO indica ao editor de ligações que inclua a informação especificada num ficheiro de mapa, que é criado se especificar a opção /MAP. EXPORTS instrui o ligador a incluir as funções exportadas.

Montagem depurável

/ASSEMBLYDEBUG gera o atributo DebuggableAttribute, que contém informações de rastreio para depuração, e desativa as otimizações JIT.

Suporte à Depuração Dinâmica em C++

(Pré-visualização) Defina o linker /DYNAMICDEOPT flag para ativar a Depuração Dinâmica em C++. Coloque pontos de interrupção desotimizados e intervenha em qualquer lugar com desotimização de funções sob demanda. Use este modo para depurar código otimizado.

Página de propriedades do sistema

Subsistema

A /SUBSYSTEM opção indica ao sistema operativo como executar o .exe ficheiro. A escolha do subsistema afeta o símbolo de ponto de entrada (ou função de ponto de entrada) que o vinculador escolherá.

Escolhas

  • Não Definido - Sem subsistema definido.
  • Consola - Aplicação Win32 em modo personagem. Os aplicativos de console recebem um console pelo sistema operacional. Se main ou wmain for definido, CONSOLE é o padrão.
  • Windows - A aplicação não precisa de consola, provavelmente porque cria as suas próprias janelas para interação com o utilizador. Se WinMain ou wWinMain for definido, WINDOWS é o padrão.
  • Native - Controladores de dispositivos para Windows NT. Se /DRIVER:WDM for especificado, NATIVE é o padrão.
  • Aplicação EFI - Aplicação EFI.
  • Controlador de Serviço de Arranque EFI - Controlador de Serviço de Arranque EFI.
  • EFI ROM - EFI ROM.
  • EFI Runtime - EFI Runtime.
  • POSIX - Aplicação que corre com o subsistema POSIX em Windows NT.

Versão mínima necessária

Especifique a versão mínima necessária do subsistema. Insira números decimais na faixa de 0 a 65.535.

Tamanho da reserva da pilha

Especifica o tamanho total de alocação do heap na memória virtual. O padrão é 1 MB. (/HEAP:reserve)

Tamanho de confirmação do heap

Especifica o tamanho total de alocação do heap na memória física. O padrão é 4 KB. (/HEAP:reserve,commit)

Tamanho da reserva de pilha

Especifica o tamanho total de alocação de pilha na memória virtual. O padrão é 1 MB. (/STACK:reserve)

Tamanho de alocação de pilha

Especifica o tamanho total de alocação de pilha na memória física. O padrão é 4 KB. (/STACK:reserve,commit)

Ativar endereços grandes

A /LARGEADDRESSAWARE opção informa o linker que a aplicação pode gerir endereços superiores a 2 gigabytes. Por defeito, /LARGEADDRESSAWARE:NO está ativado se /LARGEADDRESSAWARE não for especificado de outra forma na linha de ligação.

Servidor de Terminal

A /TSAWARE opção define uma flag no IMAGE_OPTIONAL_HEADERDllCharacteristics campo do cabeçalho opcional da imagem do programa. Quando esse sinalizador é definido, o Terminal Server não fará determinadas alterações no aplicativo.

Alternar execução de CD

A /SWAPRUN opção diz ao sistema operativo para primeiro copiar a saída do linker para um ficheiro de troca e depois executar a imagem a partir daí. Esta opção é uma funcionalidade do Windows NT 4.0 e versões posteriores. Quando CD é especificado, o sistema operativo copia a imagem num disco removível para um ficheiro de paginação e depois carrega-a.

Alternar Execução desde a Rede

A opção /SWAPRUN indica ao sistema operativo para primeiro copiar a saída do ligador para um ficheiro de swap e, em seguida, executar a imagem a partir desse ficheiro. Esta opção é uma funcionalidade do Windows NT 4.0 e versões posteriores. Se NET for especificado, o sistema operativo irá primeiro copiar a imagem binária da rede para um ficheiro de swap e carregá-la a partir daí. Esta opção é útil para executar aplicações através da rede.

Motorista

Use a opção do linker /DRIVER para construir um driver em modo kernel do Windows NT.

Escolhas

  • Não Definido - Configuração padrão do driver.
  • Condutor - Motorista.
  • Só UP - /DRIVER:UPONLY faz com que o ligador adicione o bit IMAGE_FILE_UP_SYSTEM_ONLY nas características do cabeçalho de saída para especificar que é um controlador uniprocessador (UP). O sistema operacional se recusará a carregar um driver UP em um sistema multiprocessador (MP).
  • WDM - /DRIVER:WDM faz com que o ligador defina o bit IMAGE_DLLCHARACTERISTICS_WDM_DRIVER no campo DllCharacteristics do cabeçalho opcional.

Página de propriedades de otimização

Referências

/OPT:REF Elimina funções e/ou dados que nunca são referenciados. /OPT:NOREF Guarda funções e/ou dados que nunca são referenciados.

Ativar Folding COMDAT

Use /OPT:ICF[=iterations] para realizar o dobramento idêntico do COMDAT.

Ordem das funções

A opção /ORDER indica ao LINK para otimizar o seu programa ao colocar determinados COMDATs na imagem por uma ordem predeterminada. LINK coloca as funções na ordem especificada dentro de cada seção na imagem.

Base de Dados Guiada por Perfil

Especifique o .pgd ficheiro para otimizações guiadas por perfis. (/PGD)

Especifica a geração de código em tempo de ligação. (/LTCG)

Escolhas

  • Padrão - Definição padrão de LTCG.
  • Utilizar Geração Rápida de Código em Tempo de Ligação - Utilizar Geração de Código em Tempo de Ligação com /FASTGENPROFILE.
  • Utilize Geração de código na ligação - Utilize Geração de código na ligação.
  • Otimização Guiada por Perfil - Instrumento - Use Otimização guiada por perfis com :PGINSTRUMENT.
  • Otimização Guiada por Perfil - Otimização - Especifica que o linker deve usar os dados de perfil criados após a execução do binário instrumentado para criar uma imagem otimizada.
  • Otimização Guiada por Perfil - Atualização - Permite e acompanha uma lista de ficheiros de entrada a serem adicionados ou modificados a partir do especificado na :PGINSTRUMENT fase.

Especifica .iobj a localização do ficheiro. (/LTCGOUT:[name])

Página de propriedades de IDL incorporada

Comandos MIDL

Especifique as opções de linha de comando MIDL. (/MIDL:@responsefile)

Ignorar IDL incorporado

A /IGNOREIDL opção especifica que quaisquer atributos IDL no código-fonte não devem ser processados num .idl ficheiro.

Nome do arquivo base IDL mesclado

A /IDLOUT opção especifica o nome e a extensão do .idl ficheiro.

Biblioteca de Tipos

A /TLBOUT opção especifica o nome e a extensão do .tlb ficheiro.

ID do recurso TypeLib

Permite especificar o ID do recurso da biblioteca de tipos gerada pelo vinculador. (/TLBID:id)

Página de propriedades de Metadados do Windows

Gerar Metadados do Windows

Ativa ou desativa a geração de metadados do Windows.

Escolhas

  • Sim - Permitir a geração de ficheiros de metadados Windows.
  • No - Desativar a geração de ficheiros de metadados Windows.

Ficheiro de Metadados Windows

O /WINMDFILE interruptor de opção.

Ficheiro de Chave de Metadados do Windows

Especifique uma chave ou par de chaves para assinar os Metadados do Windows. (/WINMDKEYFILE:filename)

Contentor de Chave de Metadados do Windows

Especifique um contentor de chaves para assinar os Metadados do Windows. (/WINMDKEYCONTAINER:name)

Assinatura de Atraso de Metadados do Windows

Assina parcialmente os metadados do Windows. Usa /WINMDDELAYSIGN se só quiseres colocar a chave pública no Windows Metadados. A predefinição é /WINMDDELAYSIGN:NO.

Página de propriedades avançada

Ponto de entrada

A /ENTRY opção especifica uma função de ponto de entrada como endereço inicial para um .exe ficheiro ou DLL.

Sem ponto de entrada

A opção /NOENTRY é necessária para criar uma DLL só de recursos. Utilize esta opção para impedir que o LINK associe uma referência à DLL _main.

Definir soma de verificação

A /RELEASE opção define a soma de verificação no cabeçalho de um .exe ficheiro.

Endereço Base

Define um endereço base para o programa. (/BASE:{address[,size] | @filename,key})

Endereço base aleatorizado

Endereço base aleatório. (/DYNAMICBASE[:NO])

Endereço base fixo

Cria um programa que pode ser carregado somente em seu endereço base preferido. (/FIXED[:NO])

Prevenção de Execução de Dados (DEP)

Marca um executável como tendo sido testado para ser compatível com a funcionalidade de Prevenção de Execução de Dados do Windows. (/NXCOMPAT[:NO])

Desativar a geração de montagem

A opção /NOASSEMBLY diz ao linker para criar uma imagem para o ficheiro de saída atual sem uma montagem .NET Framework.

Descarregar DLL carregada com atraso

O qualificador UNLOAD indica à função auxiliar de carregamento diferido que suporte o descarregamento explícito da DLL. (/DELAY:UNLOAD)

Nobind DLL de carregamento adiado

O qualificador NOBIND instrui o editor de ligações a não incluir uma Tabela de Endereços de Importação (IAT) associável na imagem final. O padrão é criar o IAT vinculável para DLLs com carregamento adiado. (/DELAY:NOBIND)

Importar biblioteca

Substitui o nome padrão da biblioteca de importação. (/IMPLIB:filename)

Mesclar seções

A /MERGE opção combina a primeira secção com a segunda secção, e dá à secção resultante o nome da segunda secção. Por exemplo, /merge:.rdata=.text funde a .rdata secção com a .text secção e nomeia a secção .textcombinada .

Máquina alvo

A /MACHINE opção especifica a plataforma alvo do programa.

Escolhas

  • Não Definido
  • MachineARM
  • MachineARM64
  • MachineARM64EC
  • MachineARM64X
  • MachineEBC
  • MachineX64
  • MachineX86

Máquina alvo

A /MACHINE opção especifica a plataforma alvo do programa.

Escolhas

  • Não Definido
  • MachineARM
  • MachineARM64
  • MachineEBC
  • MachineIA64
  • MachineMIPS
  • MachineMIPS16
  • MachineMIPSFPU
  • MachineMIPSFPU16
  • MachineSH4
  • MachineTHUMB
  • MachineX64
  • MachineX86

Perfil

Produz um ficheiro de saída que pode ser utilizado com o perfilador das Ferramentas de Desempenho. Requer que a propriedade Generate Debug Info esteja definida como GenerateDebugInformation (/DEBUG). (/PROFILE)

Atributo de encadeamento CLR

Especifique explicitamente o atributo de threading para o ponto de entrada do seu programa Common Language Runtime (CLR).

Escolhas

  • Atributo de threading MTA - Aplica o atributo MTAThreadAttribute ao ponto de entrada do seu programa.
  • Atributo de threading STA - Aplica o atributo STAThreadAttribute ao ponto de entrada do seu programa.
  • Atributo de segmentação predefinido - O mesmo que não especificar /CLRTHREADATTRIBUTE. Permite ao CLR definir o atributo de threading predefinido.

Tipo de imagem CLR

Define o tipo (IJW, puro ou seguro) de uma imagem CLR.

Escolhas

  • Imagem do Force IJW
  • Imagem Force Pure IL
  • Imagem Force Safe IL
  • Tipo de imagem por defeito

Arquivo de chave

Especifique a chave ou o par de chaves para assinar uma assemblagem. (/KEYFILE:filename)

Contentor de chaves

Especifique um contentor de chave para assinar uma assemblagem. (/KEYCONTAINER:name)

Sinal de atraso

Assine parcialmente uma assembleia. Utilize /DELAYSIGN se apenas quiser inserir a chave pública na assemblagem. A predefinição é /DELAYSIGN:NO.

Verificação de código não gerenciado CLR

/CLRUNMANAGEDCODECHECK especifica se o linker aplicará SuppressUnmanagedCodeSecurityAttribute às chamadas P/Invoke geradas pelo linker a partir de código gerido para DLLs nativas.

Relatório de Erros

Permite fornecer informação interna de erro do compilador (ICE) diretamente à equipa do Visual Studio C++.

Escolhas

  • PedirImediatamente - Pedir imediatamente.
  • Fila para o próximo login - Fila para o próximo login.
  • Enviar Relatório de Erro - Enviar Relatório de Erro.
  • Sem Relatório de Erro - Sem Relatório de Erro.

SeçãoAlinhamento

A /ALIGN opção especifica o alinhamento de cada secção dentro do espaço de endereçamento linear do programa. O argumento number está em bytes e deve ser uma potência de dois.

Preservar o último código de erro para chamadas PInvoke

/CLRSUPPORTLASTERROR, que está ativado por defeito, preserva o último código de erro das funções chamadas através do mecanismo P/Invoke, que permite chamar funções nativas em DLLs a partir de código compilado com /clr.

Escolhas

  • Ativado - Ativar /CLRSupportLastError.
  • Desativado - Desativado /CLRSupportLastError.
  • Apenas DLLs do Sistema - Ativar /CLRSupportLastError apenas para DLLs do sistema.

Compatível com Shadow Stack CET

Especifica se deve marcar uma imagem executável como compatível com a Shadow Stack da Control-flow Enforcement Technology (CET). (/CETCOMPAT)

A imagem tem manipuladores de exceção seguros

Quando /SAFESEH especificado, o linker só produzirá uma imagem se também conseguir produzir uma tabela com os gestores de exceções seguros da imagem. Esta tabela especifica para o sistema operacional quais manipuladores de exceção são válidos para a imagem.