Welche Anzahl von Argumenten werden für main
verwendet? Welche Varianten der main
Definition sind möglich?Wie viele Argumente hat main() in C/C++
Antwort
C++ Standard: (Source)
Der Standard sagt C 98 ++ in Abschnitt 3.6.1.2
Es wird einen Rückgabetyp vom Typ int hat, aber sonst seine Art ist Implementierung definiert. Alle Implementierungen sollen ermöglichen sowohl die folgenden Definitionen von Haupt: int main() und int main (int argc, char * argv [])
Häufig gibt es 3 Sätze von Parametern:
- keine Parameter/
void
int argc, char ** argv
int argc, char ** argv, char ** env
Wo argc
die Anzahl der Befehlszeilen ist, sind argv
die tatsächlichen Befehlszeilen und env
sind die Umgebungsvariablen.
Fenster:
Für eine Windows-Anwendung haben Sie einen Einstiegspunkt von WinMain mit einer anderen Signatur statt Haupt.
int WINAPI WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
);
OS X: (Source)
Mac OS X und Darwin haben einen vierten Parameter beliebige OS gelieferten Informationen, wie beispielsweise den Pfad zum Ausführen binären enthält:
int main(int argc, char **argv, char **envp, char **apple)
und was ist mit Auxv in Linux? – osgx
@osgx: Ich bin mir nicht sicher, ob andere möglich sind, aber die oben erwähnten 3 werden von g ++ –
unterstützt. Ich habe nie die Anforderung verstanden, dass 'main' return' int'. 'main' ist die einzige Funktion, die explizit einen impliziten Rückgabewert haben darf. Warum sollten Sie so weit gehen, dass "main" vorgibt, "void" zu sein, anstatt einfach zu erlauben, dass es "leer" ist? –
- 1. Wie viele Register enthält CUDA CC 5.0?
- 2. Zu viele Argumente in Methodenaufrufen
- 3. Golang zu viele Argumente zurückzugeben
- 4. Vorgehensweise oder Funktion !!! hat zu viele Argumente angegeben
- 5. Fehler CODE: Prozedur hat zu viele Argumente angegeben
- 6. Prozedur oder Funktion Insert hat zu viele Argumente angegeben
- 7. Prozedur oder Funktion hat zu viele Argumente angegeben
- 8. VB.NET Prozedur oder Funktion hat zu viele Argumente angegeben
- 9. Java - Argumente an die Main-Methode übergeben
- 10. C# Keine Argumente an Main übergeben
- 11. Was sind die Argumente für main()?
- 12. String hat wie viele Parameter
- 13. Passing Argumente in main-Methode in Java-Klasse
- 14. Haskell, rekursiver Aufruf, viele Argumente
- 15. Zu viele Argumente in BeginXXX für FromAsync?
- 16. Zu viele Argumente für die Methode anwenden
- 17. Go: Variadische Funktion und zu viele Argumente?
- 18. Beschränken Sie die Anzahl der Argumente zu main in C
- 19. Sortierung in hat viele durch
- 20. "Zu viele Argumente" in If-Statement
- 21. Zu viele Argumente Fehler in Bash-Skript
- 22. „zu viele Argumente für Funktion“ in C
- 23. Beziehungen in hat viele Laravel
- 24. Können wir ein Java-Programm ohne Argumente in main() ausführen?
- 25. Silverstripe Images hat viele
- 26. Zu viele Argumente für einen funktionsähnlichen Makroaufruf
- 27. WinMains cmdLine im alten Stil zerlegen main() Argumente
- 28. Ersetzen Hash Argumente mit einem Objekt hat
- 29. Prozedur oder Funktion hat zu viele Argumente in FormView und SQL Server C#
- 30. Zu viele Argumente für die Funktion
Genau dort in den "Related" -Links: http://StackOverflow.com/questions/1621574/mains-signature-in-c Auch kennzeichnest du nicht mit deinem Titel. – dmckee
hinzugefügt 'C++' Tag für die Konsistenz mit Titel – jschmier