/ENTRY (Symbol für Einstiegspunkt)
Aktualisiert: November 2007
/ENTRY:function
Hinweise
Dabei gilt:
- Funktion
eine Funktion, die eine benutzerdefinierte Startadresse für eine EXE-Datei oder eine DLL festlegt.
Hinweise
Die /ENTRY-Option bestimmt eine Einstiegspunktfunktion als Startadresse für eine EXE-Datei oder eine DLL.
Die Funktion muss mit der Aufrufkonvention __stdcall definiert worden sein. Parameter und Rückgabewert müssen entsprechend der Dokumentation in der Win32-API für WinMain (für eine EXE-Datei) oder DllEntryPoint (für eine DLL) definiert werden. Es wird empfohlen, dass Sie es dem Linker überlassen, den Einstiegspunkt festzulegen, damit die C-Laufzeitbibliothek fehlerfrei 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 sie, wie in der folgenden Tabelle angegeben, entsprechend den Programmattributen aus.
Funktionsname |
Standardeinstellung für |
---|---|
mainCRTStartup (oder wmainCRTStartup) |
Eine Anwendung, die /SUBSYSTEM:CONSOLE verwendet; ruft main (oder wmain) auf |
WinMainCRTStartup (oder wWinMainCRTStartup) |
Eine Anwendung, die /SUBSYSTEM:WINDOWS verwendet; ruft WinMain (oder wWinMain) auf, was mit __stdcall definiert wird |
_DllMainCRTStartup |
Eine DLL; ruft DllMain auf, was mit __stdcall definiert wird, falls vorhanden |
Wenn die Option /DLL oder /SUBSYSTEM nicht angegeben wird, wählt der Linker ein Subsystem und einen Einstiegspunkt aus, je nachdem, ob main oder WinMain definiert ist.
Die Funktionen main, WinMain und DllMain sind die drei Formen des benutzerdefinierten Einstiegspunkts.
Beim Erstellen eines verwalteten Bildes muss die mit /ENTRY angegebene Funktion über die Signatur (LPVOID var1, DWORD var2, LPVOID var3) verfügen.
Informationen darüber, wie Sie einen eigenen DllMain-Einstiegspunkt definieren, finden Sie unter Verhalten der Laufzeitbibliothek.
So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Festlegen von Visual C++-Projekteigenschaften.
Klicken Sie auf den Ordner Linker.
Klicken Sie auf die Eigenschaftenseite Erweitert.
Ändern Sie die Eigenschaft Einstiegspunkt.
So legen Sie diese Linkeroption programmgesteuert fest
- Siehe EntryPointSymbol.