Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os assistentes de aplicativo do Visual C++ não criam projetos verificáveis.
Importante
Visual Studio 2015 obsoleto e o Visual Studio 2017 não suporta as opções /clr:pure e /clr:safe na criação de projetos verificáveis. Se você precisar de um código verificável, recomendamos que traduza seu código para C#.
No entanto, se você estiver usando uma versão mais antiga do conjunto de ferramentas do compilador Microsoft C++ que suporta /clr:pure e /clr:safe, os projetos podem ser convertidos para serem verificáveis. Este tópico descreve como definir propriedades do projeto e modificar arquivos de origem do projeto para transformar seus projetos do Visual Studio C++ para produzir aplicativos verificáveis.
Configurações do compilador e do vinculador
Por padrão, os projetos .NET usam o sinalizador de compilador /clr e configuram o vinculador para hardware x86 de destino. Para código verificável, você deve usar o sinalizador /clr:safe e instruir o vinculador a gerar MSIL em vez de instruções nativas da máquina.
Para alterar as configurações do compilador e do vinculador
Exiba a página de propriedades do projeto. Para obter mais informações, consulte Definir propriedades do compilador e da compilação.
Na página Geral, no nó Propriedades de Configuração, defina a propriedade Common Language Runtime Support como Safe MSIL Common Language Runtime Support (/clr:safe).
Na página Avançado no nó Vinculador, defina a propriedade Tipo de imagem CLR como Force safe IL image (/CLRIMAGETYPE:SAFE).
Removendo tipos de dados nativos
Como os tipos de dados nativos não são verificáveis, mesmo que não sejam realmente usados, você deve remover todos os arquivos de cabeçalho que contenham tipos nativos.
Observação
O procedimento a seguir se aplica a projetos Windows Forms Application (.NET) e Console Application (.NET).
Para remover referências a tipos de dados nativos
- Comente tudo no arquivo Stdafx.h.
Configurando um ponto de entrada
Como os aplicativos verificáveis não podem usar as bibliotecas de tempo de execução C (CRT), eles não podem depender do CRT para chamar a função principal como o ponto de entrada padrão. Isso significa que você deve fornecer explicitamente o nome da função a ser chamada inicialmente para o vinculador. (Neste caso, Main() é usado em vez de main() ou _tmain() para indicar um ponto de entrada não-CRT, mas como o ponto de entrada deve ser especificado explicitamente, esse nome é arbitrário.)
Observação
Os procedimentos a seguir se aplicam a projetos de Aplicativo de Console (.NET).
Para configurar um ponto de entrada
Altere _tmain() para Main() no arquivo de .cpp principal do projeto.
Exiba a página de propriedades do projeto. Para obter mais informações, consulte Definir propriedades do compilador e da compilação.
Na página Avançado na secção Vinculador, insira
Maincomo o valor da propriedade Ponto de Entrada.