managed, unmanaged
Включите управление на уровне функций для управляемого или неуправляемого как компилировать функции.
#pragma managed
#pragma unmanaged
#pragma managed([push,] on | off)
#pragma managed(pop)
Заметки
/clr параметр компилятора предоставляет элемент управления уровня модуля для функции или компилировать как управляемый код или находится в автономном режиме.
Неуправляемая функция будет компилироваться для собственной платформы и выполнение этой части программы, будет передано собственный платформе средой CLR.
Функции компилировать как управляемое по умолчанию, если /clr используется.
Используйте следующие рекомендации при применении эти директивы pragma:
Добавьте pragma, предшествующие функцию, но не в теле функции.
Добавьте pragma после #include выписки (не используйте эти директивы pragma before #include выписки).
Компилятор игнорирует managed и unmanaged прагмы, если /clr не использует при компиляции.
Функция шаблона создается, когда состояние pragma во время определения шаблона определяет управляемый код или если она находится в автономном режиме.
Дополнительные сведения см. в разделе Инициализация смешанных сборок.
Пример
// 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();
}