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


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

Вызов управляемой "точки_входа": Управляемый код может не выполняться при блокировании загрузчика, это относится также к точкам входа 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;
};