Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Включите элемент управления уровня функций для компиляции функций как управляемых или неуправляемых.
Синтаксис
#pragma managed
#pragma unmanaged
#pragma managed([push,] {on|off})
#pragma managed(pop)
Замечания
Параметр /clr компилятора предоставляет управление уровнем модуля для функций компиляции как управляемых, так и неуправляемых.
Неуправляемая функция компилируется для собственной платформы. Выполнение этой части программы передается на собственную платформу средой CLR.
При использовании параметра /clr по умолчанию функции компилируются как управляемые.
При применении или managedunmanagedpragma:
Добавьте предыдущую pragma функцию, но не в тексте функции.
Добавьте инструкции pragma after
#include. Не используйте его до каких-либо#includeинструкций.
Компилятор игнорирует и managedunmanagedpragma , если /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();
}
In managed function.
In unmanaged function.
См. также
директивы Pragma и ключевые слова __pragma и _Pragma