Compilerwarnung (Stufe 1) C4747
Aktualisiert: November 2007
Fehlermeldung
Aufruf von 'Einstiegspunkt' (verwaltet): Verwalteter Code darf nicht unter der Loadersperre, einschließlich des DLL-Einstiegspunkts und Aufrufen, die vom DLL-Einstiegspunkt eingehen, ausgeführt werden.
Calling managed 'entrypoint': Managed code may not be run under loader lock, including the DLL entrypoint and calls reached from the DLL entrypoint
Vom Compiler wird ein (möglicher) zu MSIL kompilierter DLL-Einstiegspunkt festgestellt. Aufgrund möglicher Probleme beim Laden einer DLL, deren Einstiegspunkt zu MSIL kompiliert wurde, wird dringend davon abgeraten, einen DLL-Einstiegspunkt zu MSIL zu kompilieren.
Weitere Informationen finden Sie unter Initialisierung gemischter Assemblys und Linkertoolfehler 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;
};