Eclipse, Visual-Studio und Dev C++ verwenden unterschiedliche main()-Methoden, bzw Schreibweisen.
Bei Eclipse einfach : int main () bzw int main(void),
bei VS : int _tmain(int argc, _TCHAR* argv[])
bei Dev C++ : int main(int argc, char *argv[]).
Warum gibt es so viele unterschiedliche Schreibweisen? Kann mich jemand bitte aufklären?
Danke
Die gängigste Schreibweise ist: int main(){}
Die C-„kompatible“ oder sagen wir so schreiben es eingefleischte C Programmierer: int main(void){} (es gibt in C aber auch noch diese Schreibweise: void main(void){})
Will man nun die Parameter/Argumente des Programmaufrufes verwenden schreibt man es so: main(int argc, char *argv[]){} oder auch main(int argc, char **argv){}
Da M$ ja immer der Meinung ist ein eigenes Süppchen kochen zu müssen schreiben diese es eben so: int _tmain(int argc, _TCHAR *argv[]){}
Und um Dich jetzt noch gänzlich zu verwirren gibt es noch folgende Schreibweise: int main(int argc, char **argv, char **env){} Damit bekommt man noch die Systemvariablen/Umgebungsvariablen geliefert, es kann aber sein das dies nur unter Linux funktioniert zumindestens kenn ich es nur von da und hab es unter Win noch nicht probiert.
Übrigens die Angabe *argv[] und **argv haben keine funkionalen Unterschiede sondern sind unterschiedliche schreibweißen für einen „char double pointer“. Da man in C/C++ in 2 Wegen auf einen Pointer zugreifen kann, einmal argv[0] und *argv.
Gut Schuß
VuuRWerK
die tchars haben (fast) nichts mit MS zu tun, die sind für Unicodes und so