Forum: Compiler & IDEs int main (void) oder void main (void)?


von Axel Beierlein (Gast)


Lesenswert?

Welcher Hauptfunktionstyp ist denn korrekter und wieso?
Ich frage mich an wen die Funktion main etwas zurückliefern soll, daher 
verstehe ich das int vor der Funktion nicht so recht.

Warum macht der AVR-GCC ne Warnung wenn ich die Hauptfunktion mit void 
main(void) deklariere? Ist das noch ein Relikt aus der ursprünglichen 
Verwendung vom gcc?

Danke für Eure Anworten

von Joerg Wunsch (Gast)


Lesenswert?

Habe ich neulich schon mal ausführlich beschrieben.

,,Korrekter'' gibt es in der deutschen Sprache nicht. :-)
Entweder korrekt oder nicht.

Gültige Prototypen in einem hosted environment sind
int main(void);
int main(int, char **);

Bitte benutze die Suchfunktion des Forums und suche nach
»hosted environment« um Dir die Erklärung durchzulesen, warum
auch ein avr-gcc gar nicht unbedingt der klassische Fall
von freestanding environment ist, der er auf den ersten Blick
zu sein scheint...

OK, habe ich für Dich gemacht, hier:
http://www.mikrocontroller.net/forum/read-2-30878.html#30990

Kurz und gut: das "return 0;" am Ende kostet Dich nix.  Wenn
Du die übliche Endlosschleife davor hast, wird es sowieso
wegoptimiert.  Bei C++ kämest Du ohnehin nicht drumrum.

von Axel Beierlein (Gast)


Lesenswert?

"voll korrekt"

Danke !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.