Share via


managed ve unmanagedpragma

İşlevleri yönetilen veya yönetilmeyen olarak derlemek için işlev düzeyi denetimini etkinleştirin.

Sözdizimi

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

Açıklamalar

Derleyici /clr seçeneği, işlevleri yönetilen veya yönetilmeyen olarak derlemek için modül düzeyinde denetim sağlar.

Yerel platform için yönetilmeyen bir işlev derlenmiş. Programın bu bölümünün yürütülmesi, ortak dil çalışma zamanı tarafından yerel platforma geçirilir.

İşlevler kullanıldığında varsayılan olarak /clr yönetilen olarak derlenir.

veya unmanagedpragmauygularkenmanaged:

  • pragma Önceki bir işlevi ekleyin, ancak işlev gövdesine eklemeyin.

  • pragma After #include deyimlerini ekleyin. Herhangi bir #include ifadeden önce kullanmayın.

Derleyici, derlemede managed kullanılmıyorsa /clr ve unmanagedpragma değerlerini yoksayar.

Şablon işlevi örneği oluşturulurken, şablonun pragma tanımlandığı durum, yönetilen mi yoksa yönetilmeyen mi olduğunu belirler.

Daha fazla bilgi için bkz . Karma derlemeleri başlatma.

Örnek

// 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();
}
In managed function.
In unmanaged function.

Ayrıca bkz.

Pragma yönergeleri ve __pragma ve _Pragma anahtar sözcükleri