Sdílet prostřednictvím


managed, unmanaged

Povolte funkce úrovně řízení pro sestavování funkce jako spravovaných nebo nespravovaných.

#pragma managed
#pragma unmanaged
#pragma managed([push,] on | off)
#pragma managed(pop)

Poznámky

/Clr volba kompilátoru kompilace funkce buď jako spravovaných nebo nespravovaných poskytuje úroveň modulu řízení.

Nespravovaná funkce budou sestavovány pro nativní platformy a spuštění část programu budou předány nativní platformy podle společného jazykového modulu runtime.

Funkce jsou kompilovány jako spravovaná jako výchozí při /clr se používá.

Při použití těchto pragmas, řiďte se následujícími pokyny:

  • Přidat pragma předcházející funkci, ale není v těle funkce.

  • Přidání záhlaví pragma po #include příkazy (nepoužívejte tyto pragmas před #include prohlášení).

Kompilátor ignoruje managed a unmanaged pragmas-li /clr není použita při kompilaci.

Při vytváření instance šablony funkce určuje, pokud je spravovaných nebo nespravovaných pragma státu v době definice šablony.

Další informace naleznete v tématu Inicializace smíšených sestavení.

Příklad

// pragma_directives_managed_unmanaged.cpp
// compile with: /clr
#include <stdio.h>

// func1 is managed
void func1() {
   System::Console::WriteLine("In managed function.");
}

// #pragma unmanaged
// push managed state on to stack and set unmanaged state
#pragma managed(push, off)

// func2 is unmanaged
void func2() {
   printf("In unmanaged function.\n");
}

// #pragma managed
#pragma managed(pop)

// main is managed
int main() {
   func1();
   func2();
}
  
  

Viz také

Referenční dokumentace

Pragma směrnic a __Pragma klíčové slovo