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();
}