Поделиться через


Предупреждение компилятора (уровень 1) C4747

Вызов управляемой "точки входа": управляемый код может не выполняться под блокировкой загрузчика, включая точку входа DLL и вызовы, достигнутые из точки входа DLL

Компилятор обнаружил точку входа DLL, скомпилированную в MSIL. Из-за потенциальных проблем с загрузкой библиотеки DLL, точка входа которой была скомпилирована в MSIL, настоятельно не рекомендуется компилировать функцию точки входа DLL в MSIL.

Дополнительные сведения см. в разделе "Инициализация смешанных сборок и средств компоновщика" LNK1306.

Исправление ошибки

  1. Не компилируйте модуль с помощью /clr.

  2. Пометьте функцию точки входа с #pragma unmanagedпомощью .

Пример

Следующий пример приводит к возникновению ошибки C4747.

// C4747.cpp
// compile with: /clr /c /W1
// C4747 expected
#include <windows.h>

// Uncomment the following line to resolve.
// #pragma unmanaged

BOOL WINAPI DllMain(HANDLE hInstance, ULONG Command, LPVOID Reserved) {
   return TRUE;
};