Tach Was für einen Sinn hat es, die main-Funktion mit einem Rückgabewert zu versehen? int main(void) liefert einen Wert der jedoch von niemandem entgegengenommen wird. Richtig?
wenn ich ein anderes Programm aufrufe und dies durchgelaufen ist, interessiert es mich ab und zu obs erfolgreich war. dies erkenne ich oft am exit-code des Programms. Von dem her ist es schon sinnvoll!!!
int main(void) liefert einen Wert ans Betriebssysten zurück, meist 0 für Erfolg. Dieser Wert kann dann von anderen Programmen ausgewertet bzw. darauf reagiert werden, z.B. in Scripten. Aber wenn man kein Betriebssstem hat, sondern nur Windows, dann kann man vielleicht nicht viel mit dem Rückgabewert anfangen.
stichwort "ANSI-C" wenn ich nicht irre. ich finde es sauberer, kann aber auf µC getrost weggelassen werden. pumpkin
Also, mein avr-gcc will int main( sehen, sonst meldet er error: '::main' must return 'int'
ja eben.... ich rede ja auch von µC.... und nicht von PC Programmen. dort ist kein "höheres" Programm als die main(). Von daher ziemlich sinnlos. Warum AVRStudio diesen Rückgabewert verlangt ist mir auch nicht klar.
Hi und ändert die Codegröße beim avrgcc (-Os) auch nicht. Matthias
Hans-jürgen Herbert wrote:
> sehen, sonst meldet er error: '::main' must return 'int'
Was bei C halt nur eine Warnung ist, ist bei C++ oft ein Fehler.
> und ändert die Codegröße beim avrgcc (-Os) auch nicht.
Im Gegenteil. Mit dem return wird der Code kürzer.
Kannst du ja mal ausprobieren.
Hi kann ich nicht bestätigen.
1 | Matthias@modframe ~ |
2 | $ avr-gcc -v |
3 | Reading specs from C:/Programme/WinAVR/lib/gcc/avr/3.4.5/specs |
4 | Configured with: ../gcc-3.4.5/configure --prefix=/c/WinAVR --target=avr --enable-languages=c,c++ --with-dwarf2 --enable-win32-registry=WinAVR |
5 | Thread model: single |
6 | gcc version 3.4.5 |
Matthias
Manchmal läuft halt ein OS auf dem uC (besonders bei etwas gröberen Geschützen).. Und da ist es schon sinnvoll wenn der aufgerufene Dienst nach Beendigung etwas zurück gibt...wie es ja unter Windwos etc. üblich ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.