Compilerwarnung (Ebene 1) C4747
Aufruf von "entrypoint" (verwaltet): Verwalteter Code darf nicht unter der Loadersperre, einschließlich des DLL-Einstiegspunkts und Aufrufen, die vom DLL-Einstiegspunkt eingehen, ausgeführt werden.
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
Kompilieren Sie das Modul nicht mit "/clr".
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;
};