Sdílet prostřednictvím


Převod projektů ze smíšeného režimu do čistého IL (Intermediate Language)

Ve výchozím nastavení připojují všechny projekty Visual C++ CLR běhové knihovny C.Protože tyto aplikace kombinují nativní kód s kódem cíleným na CLR (Common Language Runtime) (spravovaný kód), jsou klasifikovány jako aplikace smíšeného režimu.Při kompilaci jsou tyto aplikace kompilovány do jazyka IL (Intermediate Language), který je také označován jako MSIL (Microsoft intermediate language).

Převod aplikací smíšeného režimu na aplikace čistého IL

  1. Odeberte propojení na běhové knihovny C (CRT):

    1. V soubor .CPP, který definuje vstupní bod aplikace, změňte vstupní bod na Main(). Použití Main() označuje, že projekt nepřipojuje CRT.

    2. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt, a z místní nabídky zvolte Vlastnosti pro otevření stránky vlastností aplikace.

    3. Na stránce vlastností Propojovacího programuRozšířené zvolte Vstupní bod a zadejte Main.

    4. Pro aplikaci konzoly na stránce vlastností Propojovacího programuSystém zvolte pole Subsystém a změňte jej na Console (/SUBSYSTEM:CONSOLE).

      [!POZNÁMKA]

      Tuto vlastnost není třeba nastavovat pro Formulářové aplikace Windows, protože pole Subsystém je ve výchozím nastavení nastaveno na hodnotu Windows (/SUBSYSTEM:WINDOWS).

    5. V souboru stdafx.H označte jako komentář všechny příkazy #include.Například pro aplikace konzoly:

      // #include <iostream>
      // #include <tchar.h>
      

      -nebo-

      Například pro Formulářové aplikace Windows:

      // #include <stdlib.h>
      // #include <malloc.h>
      // #include <memory.h>
      // #include <tchar.h>
      
    6. Pro Formulářové aplikace Windows zakomentujte v souboru Form1.CPP příkaz #include odkazující na windows.H. Příklad:

      // #include <windows.h>
      
  2. Přidejte následující kód do souboru stdafx.H:

    #ifndef __FLTUSED__
    #define __FLTUSED__
       extern "C" __declspec(selectany) int _fltused=1;
    #endif
    
  3. Odeberte všechny nespravované typy:

    1. Pokud je to vhodné, nahraďte nespravované typy odkazy na struktury z oboru názvu Systém.Obecné spravované typy jsou uvedeny v následující tabulce:

      Struktura

      Popis

      Logická

      Představuje logickou hodnotu.

      Byte

      Představuje 8bitový unsigned integer.

      Char

      Představuje znak sady Unicode.

      DateTime

      Představuje okamžik v čase, obvykle vyjádřen jako datum a čas.

      Desetinné číslo

      Představuje desetinné číslo.

      Double

      Představuje číslo s plovoucí desetinnou čárkou s dvojitou přesností.

      Guid

      Představuje globálně jedinečný identifikátor (GUID).

      Int16

      Představuje 16bitové celé číslo se znaménkem.

      Int32

      Představuje 32bitové celé číslo se znaménkem.

      Int64

      Představuje 64bitové celé číslo se znaménkem.

      IntPtr

      Představuje platformně závislý typ, který reprezentuje ukazatel nebo popisovač.

      SByte

      Představuje 8bitové celé číslo se znaménkem.

      Jednoduché

      Představuje číslo s plovoucí desetinnou čárkou s jednoduchou přesností.

      TimeSpan

      Představuje časový interval.

      UInt16

      Představuje 16bitový unsigned integer.

      UInt32

      Představuje 32bitový unsigned integer.

      UInt64

      Představuje 64bitový unsigned integer.

      UIntPtr

      Představuje platformně závislý typ, který reprezentuje ukazatel nebo popisovač.

      Void

      Označuje metodu, která nevrací žádnou hodnotu; to znamená, že metoda má typ vrácené hodnoty void.