Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os assistentes de aplicativo do Visual C++ não criam projetos verificáveis.
Importante
O Visual Studio 2015 foi preterido e o Visual Studio 2017 não dá suporte à criação de /clr:pure e /clr:safe de projetos verificáveis. Se você precisar de 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 do Microsoft C++ que dá suporte a /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++ e produzir aplicativos verificáveis.
Configurações de compilador e vinculador
Por padrão, os projetos do .NET usam o sinalizador do compilador /clr e configuram o vinculador para o hardware x86 de destino. Para um código verificável, você precisa usar o sinalizador /clr:safe e instruir o vinculador a gerar MSIL em vez de instruções de computador nativas.
Para alterar as configurações do compilador e do vinculador
Exiba a Página de Propriedades do projeto. Para mais informações, consulte Definir propriedades de build e do compilador.
Na página Geral, no nó Propriedades de Configuração, defina a propriedade Suporte a Common Language Runtime como Suporte a Common Language Runtime do MSIL seguro (/clr:safe).
Na página Avançado no nó do Vinculador, defina a propriedade Tipo de imagem CLR como Forçar imagem IL segura (/CLRIMAGETYPE:SAFE).
Removendo tipos de dados nativos
Como os tipos de dados nativos não são verificáveis, mesmo que eles não sejam realmente usados, você precisa remover todos os arquivos de cabeçalho que contêm tipos nativos.
Observação
O procedimento a seguir se aplica a projetos de aplicativo Windows Forms (.NET) e aplicativo de console (.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 CRT (bibliotecas de tempo de execução C), eles não podem depender do CRT para chamar a função principal como o ponto de entrada padrão. Isso significa que você precisa fornecer explicitamente o nome da função a ser chamada inicialmente para o vinculador. (Nesse caso, Main() é usado em vez de main() ou _tmain() para indicar um ponto de entrada não CRT, mas como o ponto de entrada precisa ser especificado explicitamente, esse nome é arbitrário.)
Observação
Os procedimentos a seguir se aplicam a projetos do Aplicativo de Console (.NET).
Para configurar um ponto de entrada
Altere _tmain() para Main() no arquivo .cpp principal do projeto.
Exiba a Página de Propriedades do projeto. Para mais informações, consulte Definir propriedades de build e do compilador.
Na página Avançado no nó do Vinculador, insira
Maincomo o valor da propriedade Ponto de Entrada.