Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A függvényszintű vezérlés engedélyezése felügyelt vagy nem felügyelt függvények fordításához.
Szintaxis
#pragma managed
#pragma unmanaged
#pragma managed([push,] {on|off})
#pragma managed(pop)
Megjegyzések
A /clr fordító lehetőség modulszintű vezérlést biztosít a felügyelt vagy nem felügyelt függvények összeállításához.
A rendszer egy nem felügyelt függvényt állít össze a natív platformhoz. A program adott részének végrehajtását a közös nyelvi futtatókörnyezet továbbítja a natív platformnak.
A függvények alapértelmezés szerint felügyeltként vannak lefordítva /clr használatakor.
managed vagy unmanagedpragmaalkalmazásakor:
Adja hozzá a függvényt megelőző pragma, de a függvény törzsén belül nem.
Adja hozzá a pragma
#includeutasítások után. Ne használja#includeutasítások előtt.
A fordító figyelmen kívül hagyja a managed és unmanagedpragma, ha /clr nem szerepel a fordításban.
A sablonfüggvények példányosításakor a pragma állapot határozza meg, hogy a sablon felügyelt vagy nem felügyelt-e.
További információ: Vegyes szerelvények inicializálása.
Példa
// 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.
Lásd még:
Pragma irányelvei, valamint a __pragma és _Pragma kulcsszavak