Antwort von
nach 21 Stunden
hilfreich
Re^3: Welcher Compiler für C ist empfehlenswert?
Hi,
Mag sein, dass du n anderes GNU hast, aber GNU setz ich
meistens im Zusammenhang mit linux ein und da is die
Installation für gewöhnlich immer etwas komplizierter..
Ich verwende gcc/g++ (die gnu-compiler und nebenbei die Referenz-Compiler fuer C/C++ ueberhaupt) sowie make, emacs als editor und ddd als debugger. Das ganze allerdings auf Linux.
Auf Linux sind das alles Standardkomponenten und die Installation somit kein Problem.
Compilation starte aus Emacs. Der kriegt dann automatisch mit, in welchen Zeilen die Fehler sind und auf Tastendruck springt er im Quellcode automatisch zum naechsten oder vorigen Fehler. Alternativ kann man auch selbst in den entsprechenden Files auf die richtigen Zeilen gehen, dass ist allerdings umstaendlicher.
Gcc hat verschiedene debugging-optionen, die von ddd genutzt werden koennen. Fuer segfaults mache ich einfach mit ddd einen stack trace, fuer andere Sachen laesst sich der Code zeilenweise (oder in beliebigen "Brocken") ausfuehren und Variable-Traces anschauen - auch von komplexen Datenstrukturen. Nur Variablen hinter Pointern sind ein wenig umstaendlich anzuzeigen, geht aber alles.
gcc/g++, make, emacs, ddd. Ausserdem benutze ich noch cvs und natuerlich kleinere shell-scripts. Das ist eine runde Sache, mit der professionell arbeiten laesst. Da bleiben keine Wuensche offen. Im gegensatz zu komerziellen Produkten ist wirklich alles ordentlich dokumentiert und wenn einem was nicht passt, schreibt mans um. Ach ja, bei den genannten tools habe ich noch keine Chrashs erlebt (obwohl ddd nicht ganz bugfrei ist).
Die Bedienung von dem ganzen Zeug ist natuerlich schwriger zu erlernen als bei grafischen Tools (nur ddd hat 'ne gui, und fuer cvs benutze ich ein grafisches Frontend). Dafuer kann man dann auch mehr damit machen, ich aergere mich nicht ueber bugs und kann immer mit Antworten rechnen, wenn ich im Netz eine Frage stelle.
Wie es mit gnu-zeug auf Win aussieht weiss ich allerdings nicht.
Gruss
Thorsten