/ENTRY (Symbol für Einstiegspunkt)
/ENTRY:function
Argumente
function
Eine Funktion, die eine benutzerdefinierte Startadresse für eine .exe Datei oder DLL angibt.
Hinweise
Die Option /ENTRY gibt eine Einstiegspunktfunktion als Startadresse für eine .exe Datei oder DLL an.
Die Funktion muss definiert werden, um die __stdcall
aufrufende Konvention zu verwenden. Die Parameter und der Rückgabewert hängen davon ab, ob es sich bei dem Programm um eine Konsolenanwendung, eine Windows-Anwendung oder eine DLL handelt. Es wird empfohlen, dem Linker das Festlegen des Einstiegspunkts zu ermöglichen, damit die C-Laufzeitbibliothek ordnungsgemäß initialisiert wird, und C++-Konstruktoren für statische Objekte ausgeführt werden.
Standardmäßig ist die Startadresse ein Funktionsname aus der C-Laufzeitbibliothek. Der Linker wählt ihn gemäß den Attributen des Programms aus, wie in der folgenden Tabelle dargestellt.
Funktionsname | Standard für |
---|---|
mainCRTStartup (oder wmainCRTStartup) | Eine Anwendung, die /SUBSYSTEM:CONSOLE verwendet; Aufrufe main (oder wmain ) |
WinMainCRTStartup (oder wWinMainCRTStartup) | Eine Anwendung, die /SUBSYSTEM:WINDOWS verwendet; Aufrufe WinMain (oder wWinMain ), die für die Verwendung definiert werden müssen __stdcall |
_DllMainCRTStartup | EINE DLL; Aufrufe DllMain , falls vorhanden, die für die Verwendung definiert werden müssen __stdcall |
Wenn die Option "/DLL " oder "/SUBSYSTEM " nicht angegeben ist, wählt der Linker je nachdem, ob main
oder WinMain
ob er definiert ist, ein Subsystem und einen Einstiegspunkt aus.
Die Funktionen main
, WinMain
und DllMain
sind die drei Formen des benutzerdefinierten Einstiegspunkts.
Beim Erstellen eines verwalteten Bilds muss die für /ENTRY angegebene Funktion über eine Signatur (LPVOID var1, DWORD var2, LPVOID var3) verfügen.
Informationen zum Definieren Ihres eigenen DllMain
Einstiegspunkts finden Sie unter DLLs und Visual C++-Laufzeitbibliotheksverhalten .
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Wählen Sie die Seite "Konfigurationseigenschaften linker>>Advanced".
Ändern Sie die Einstiegspunkteigenschaft .
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe EntryPointSymbol.