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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin