Aracılığıyla paylaş


managed, unmanaged

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

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

Notlar

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

Yönetilmeyen bir işlevi için yerel platform derleneceği ve programının bu bölümü yürütülmesi doğal platforma ortak dil çalışma zamanı tarafından gönderilir.

Varsayılan olarak yönetilen gibi işlevler derlenmiş, /clr kullanılır.

Bu formunda bilgi uygularken aşağıdaki yönergeleri kullanın:

  • Bir işlev önceki pragma add ancak işlev gövdesi içinde değil.

  • Sonra pragma add #include ifadeleri (önce bu formunda bilgi kullanmayın #include ifadeleri).

Derleyicisinin yoksaydığı managed ve unmanaged formunda bilgi, /clr derleme kullanılmaz.

Bir şablon işlevi örneği oluşturulduğunda, yönetilen yönetilmeyen olup tanımı şablonu için pragma durumunu zaman belirler.

Daha fazla bilgi için bkz. Karışık 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();
}
      

Ayrıca bkz.

Başvuru

Pragma yönergeleri ve anahtar sözcük __Pragma