Udostępnij za pośrednictwem


C4747 (poziom 1) ostrzeżenia kompilatora

Wywołanie zarządzanego 'entrypoint': kod zarządzany, nie mogą być uruchamiane w obszarze blokady modułu ładującego, w tym punkt wejścia DLL i osiągnięte z punktu wejścia biblioteki DLL wywołania

Kompilator znalazł zestawionych MSIL (prawdopodobieństwo) punktu wejścia biblioteki DLL.Ze względu na potencjalne problemy z ładowania biblioteki DLL, którego punkt wejścia został wcześniej skompilowany do MSIL są zdecydowanie odradza się od funkcji punktu wejścia biblioteki DLL, aby MSIL kompilacji.

Aby uzyskać więcej informacji, zobacz Inicjowanie mieszanych zestawów i LNK1306 błąd narzędzia Linker.

Aby poprawić ten błąd

  1. Nie skompilować modułu z /clr.

  2. Znak funkcji punktu wejścia, z #pragma unmanaged.

Przykład

Poniższy przykład generuje 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;
};