Udostępnij za pośrednictwem


managed, unmanaged

Włączyć kontrolę poziomu funkcji obliczania funkcji jako zarządzanego lub niezarządzanego.

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

Uwagi

/CLR opcję kompilatora zapewnia kontrolę poziomu modułu do kompilowania funkcje jako zarządzane lub niezarządzane.

Funkcję niezarządzanego sporządzane będą dla platformy macierzystych i wykonanie część programu zostanie przekazany do platformy macierzystej przez aparatu plików wykonywalnych języka wspólnego.

Funkcje są kompilowane jako zarządzany domyślnie podczas /clr jest używana.

Przy stosowaniu tych pragmas, użyj następujących wytycznych:

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

  • Dodać pragma po #include instrukcji (nie używaj tych pragmas przed #include sprawozdania).

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

Funkcja szablon zostanie uruchomiony, Państwo pragmy w czasie definicji dla szablonu określa, jeżeli jest zarządzane lub niezarządzanych.

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

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 __Pragma słowa kluczowego