Udostępnij za pośrednictwem


zarządzane, niezarządzane

Włącz kontrola na poziomie funkcji do kompilowania funkcje jako zarządzane i niezarządzane.

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

Uwagi

/CLR opcję kompilatora zapewnia kontrolę poziomu modułu dla funkcji zarządzanych i niezarządzanych kompilacji.

Funkcję niezarządzane zostanie skompilowany macierzysty platformy i realizacji część programu zostaną przekazane do platformy macierzysty przez środowisko common language runtime.

Funkcje stanowią skompilowany zgodnie z zarządzanego domyślnie po /clr jest używany.

W przypadku stosowania tych pragma:

  • Dodaj dyrektywę pragma, poprzedzających funkcji, ale nie w treści funkcji.

  • Dodaj dyrektywę pragma po #include instrukcji.Nie należy używać tych pragma przed #include instrukcji.

Kompilator ignoruje managed i unmanaged pragma Jeśli /clr nie jest używany podczas kompilacji.

Podczas tworzenia wystąpienia funkcji szablonu, stan dyrektywę pragma w czasie definicji szablonu określa, czy jest zarządzane i niezarządzane.

Aby uzyskać więcej informacji, zobacz Inicjalizacja zestawów mieszanych.

Przykład

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

Zobacz też

Informacje

Dyrektywy pragma i słowo kluczowe __Pragma