Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

managed, unmanaged

El control en el nivel de función de permiso para compilar funciona como administrado o no administrado.

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

La opción del compilador /clr proporciona control de nivel de módulo para las funciones de compilación o como administrado o no administrado.

Una función no administrada se compilará para la plataforma nativa, y la ejecución de esa parte del programa se pasará a la plataforma nativa por Common Language Runtime.

Las funciones son compiladas como controlado de forma predeterminada cuando se utiliza /clr .

Utilice las instrucciones siguientes al aplicar estos pragmas:

  • Agregue el pragma que precede a una función pero no dentro del cuerpo de la función.

  • agregue el pragma después de las instrucciones de #include (no utilice estos pragmas antes de las instrucciones de #include ).

El compilador omite pragmas de managed y de unmanaged si /clr no se utiliza en la compilación.

Cuando se crea una función de plantilla, el estado de pragma a la hora de la definición de la plantilla determina si es administrada o no administrada.

Para obtener más información, vea Inicialización de ensamblados mixtos.

// 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();
}
en la función administrada.  En la función no administrada.  
Mostrar: