Compilerwarnung (Ebene 1) C4747

Aufrufen von verwaltetem "Entrypoint": Verwalteter Code wird möglicherweise nicht unter Ladesperre ausgeführt, einschließlich des DLL-Eintragspunkts und der Aufrufe, die vom DLL-Eintragspunkt erreicht wurden

Der Compiler hat einen (wahrscheinlichen) DLL-Einstiegspunkt gefunden, der zu MSIL kompiliert wurde. Aufgrund potenzieller Probleme beim Laden einer DLL, deren Einstiegspunkt in MSIL kompiliert wurde, wird dringend davon abgeraten, eine DLL-Einstiegspunktfunktion in MSIL zu kompilieren.

Weitere Informationen finden Sie unter Initialisierung gemischter Assemblys und Linker tools Error LNK1306.

So beheben Sie diesen Fehler

  1. Kompilieren Sie das Modul nicht mit "/clr".

  2. Markieren Sie die Einstiegspunktfunktion mit #pragma unmanaged.

Beispiel

Im folgenden Beispiel wird C4747 generiert.

// 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;
};