Convertendo projetos do modo misto em linguagem intermediária pura
Todos os projetos do Visual C++ CLR vinculam a bibliotecas de tempo de execução C por padrão. Consequentemente, esses projetos são classificados como aplicativos de modo misto, porque combinam o código nativo com o código que se destinam Common Language Runtime (código gerenciado). Quando são criados, serão criados em linguagem intermediária (IL), também conhecido como a linguagem intermediária da Microsoft (MSIL).
Para converter seu aplicativo de modo misto em linguagem intermediária puro
Remova os links a Bibliotecas de tempo de execução C (CRT):
No arquivo .cpp que define o ponto de entrada de seu aplicativo, altere o ponto de entrada para Main(). Usar Main() indica que o projeto não está vinculada ao CRT.
No Solution Explorer, clique com o botão direito do mouse no projeto e selecione Propriedades no menu de atalho para abrir as páginas de propriedades para seu aplicativo.
Na página de propriedades do projeto de Avançado para Vinculador, selecione Ponto de entrada e digite em Principal nesse campo.
Para aplicativos do console, na página de propriedades do projeto de Sistema para Vinculador, selecione o campo de SubSystem e altere-a para Console (/SUBSYSTEM:CONSOLE).
Dica
Não defina essa propriedade para aplicativos Windows Forms como o campo de SubSystem é definido como Windows (/SUBSYSTEM:WINDOWS) por padrão.
Em stdafx.h, comentam out todas as instruções de #include . Por exemplo, nos aplicativos do console:
// #include <iostream> // #include <tchar.h>
- ou -
Por exemplo, em aplicativos do Windows Forms:
// #include <stdlib.h> // #include <malloc.h> // #include <memory.h> // #include <tchar.h>
Para aplicativos Windows Forms, em Form1.cpp, a utilização de comentários para fora da instrução #include que referencia windows.h. Por exemplo:
// #include <windows.h>
Adicione o seguinte código para stdafx.h:
#ifndef __FLTUSED__ #define __FLTUSED__ extern "C" __declspec(selectany) int _fltused=1; #endif
Remover todos os tipos não gerenciada:
Onde apropriada, substitua tipos não gerenciados por referências às estruturas de namespace de O sistema . Os tipos gerenciados comuns são listados na seguinte tabela:
Estrutura
Descrição
Representa um valor booliano.
Representa um inteiro não assinado de 8 bits.
Representa um caractere Unicode.
Representa um instante no tempo, normalmente expresso como uma data e uma hora.
Representa um número decimal.
Representa um número de ponto flutuante de precisão dupla.
Representa um GUID (identificador global exclusivo).
Representa um inteiro com sinal de 16 bits.
Representa um inteiro com sinal de 32 bits.
Representa um inteiro com sinal de 64 bits.
Um tipo de plataforma específica que é usada para representar um ponteiro ou um identificador.
Representa um inteiro com sinal de 8 bits.
Representa um número de ponto flutuante de precisão única.
Representa um intervalo de tempo.
Representa um inteiro não assinado de 16 bits.
Representa um inteiro não assinado de 32 bits.
Representa um inteiro não assinado de 64 bits.
Um tipo de plataforma específica que é usada 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 nulo.