Converting Projects from Mixed Mode to Pure Intermediate Language
Todos os projetos Visual C++ CLR links para bibliotecas em tempo de execução de C por padrão.Portanto, esses projetos são classificados como aplicativos de modo misto, porque combina o código nativo com o código que acessam o common language runtime (código gerenciado).Quando são compilados, são compilados em linguagem intermediária (IL), também conhecido como o Microsoft intermediate language (MSIL).
Para converter o seu aplicativo de modo misto em linguagem intermediária puro
Remova os links a Bibliotecas em tempo de execução de C (CRT):
No arquivo de .cpp que define o ponto de entrada do seu aplicativo, altere o ponto de entrada a Main().Usar Main() indica que o projeto não contém links para CRT.
No solution Explorer, clique com o botão direito do mouse e selecione Propriedades no menu de atalho para abrir as páginas de propriedades para seu aplicativo.
Na página propriedades de projeto de Avançado para Vinculador, selecione Ponto de entrada e entre em Principal neste campo.
Para aplicativos de console, na página propriedades de projeto de Sistema para Vinculador, selecione o campo de SubSystem e alterar isso ao Console (/SUBSYSTEM:CONSOLE).
Observação Você não precisa definir essa propriedade para aplicativos de formulários do Windows porque o campo de SubSystem é definido como Windows (/SUBSYSTEM:WINDOWS) por padrão.
Em stdafx.h comentários, para fora todas as instruções de #include .Por exemplo, aplicativos de console:
// #include <iostream> // #include <tchar.h>
- ou -
Por exemplo, em aplicativos de formulários do Windows:
// #include <stdlib.h> // #include <malloc.h> // #include <memory.h> // #include <tchar.h>
Para aplicativos de formulários do Windows, em Form1.cpp, comente a declaração de #include que referencia windows.h.Por exemplo:
// #include <windows.h>
Adicione o seguinte código a stdafx.h:
#ifndef __FLTUSED__ #define __FLTUSED__ extern "C" __declspec(selectany) int _fltused=1; #endif
Remova todos os tipos não gerenciado:
Onde apropriado, substitua tipos não gerenciado com as referências às estruturas de namespace de O sistema .Os tipos gerenciados comuns são listados na tabela a seguir:
Estrutura
Descrição
Representa um valor Booleano.
Representa um inteiro de 8 bits sem sinal.
Representa um caractere Unicode.
Representa um momento no tempo, normalmente expresso como uma data e hora.
Representa um número decimal.
Representa um número de ponto flutuante de precisão dupla.
Representa um identificador exclusivo (GUID).
Representa um número inteiro de 16 bits com sinal.
Representa um número inteiro de 32 bits com sinal.
Representa um número inteiro de 64 bits com sinal.
Um tipo específico (que é usado para representar um ponteiro ou um identificador.
Representa um inteiro de 8 bits com sinal.
Representa um número de ponto flutuante de precisão simples.
Representa um intervalo de tempo.
Representa um número inteiro de 16 bits sem sinal.
Representa um inteiro de 32 bits sem sinal.
Representa um número inteiro de 64 bits sem sinal.
Um tipo específico (que é usado para representar um ponteiro ou um identificador.
Indica um método que não retorna um valor; isto é, o método tem o tipo de retorno vago.