Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Habilite el control de nivel de función para compilar funciones como administradas o no administradas.
Sintaxis
#pragma managed
#pragma unmanaged
#pragma managed([push,] {on|off})
#pragma managed(pop)
Comentarios
La opción del compilador /clr proporciona control de nivel de módulo para compilar las funciones como administradas o no administradas.
Se compila una función no administrada para la plataforma nativa. Common Language Runtime pasará la ejecución de esa parte del programa a la plataforma nativa.
Las funciones se compilan como administradas de forma predeterminada cuando se utiliza /clr.
Al aplicar managed o unmanagedpragma:
Agregue la pragma que precede a una función, pero no dentro del cuerpo de la función.
Agregue la pragma después de las instrucciones
#include. No lo use antes de ninguna instrucción#include.
El compilador omite las managed y unmanagedpragma si no se utiliza /clr en la compilación.
Cuando se crea una instancia de una función de plantilla, el estado depragma en el momento de definir la plantilla determina si está administrada o no administrada.
Para más información, vea Inicialización de ensamblados mixtos.
Ejemplo
// 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.