managed
ve unmanaged
pragma
İş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 unmanaged
pragmauygularkenmanaged
:
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 unmanaged
pragma 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