Könntest du ein bisschen mehr klarstellen, wie es für dich war, was du ändern musstest? Vielleicht könnten Sie mich in die richtige Richtung weisen, indem Sie einige Links zu den von Ihnen verwendeten Informationen bereitstellen.
Meine erste Quelle waren eigentlich die man
Seiten der Werkzeuge . Schreib einfach
$ man toolname
in der Befehlszeile ( $
hier ist ein Teil der Eingabeaufforderung, nicht die Eingabe).
Je nach Plattform sind sie recht gut geschrieben und können auch im Internet gefunden werden. Im Fall von habe make
ich tatsächlich die vollständige Dokumentation gelesen, die einige Stunden gedauert hat. Eigentlich denke ich nicht, dass dies in den meisten Fällen notwendig oder hilfreich ist, aber ich hatte einige spezielle Anforderungen in meinen ersten Aufgaben unter Linux, die ein ausgeklügeltes Makefile erforderten. Nachdem ich das Makefile geschrieben hatte, gab ich es einem erfahrenen Kollegen, der einige kleinere Änderungen und Korrekturen vorgenommen hatte. Danach wusste ich es ziemlich genau make
.
Ich habe GVIM verwendet, weil ich dort einige (aber nicht viele) Erfahrungen gesammelt habe. Ich kann überhaupt nichts über Emacs oder Alternativen sagen. Ich finde es wirklich hilfreich, die .gvimrc
Konfigurationsdatei anderer Leute zu lesen . Viele Leute stellen es ins Internet. Hier ist meins .
Versuchen Sie nicht, alle Binutils gleichzeitig zu beherrschen, es gibt zu viele Funktionen. Verschaffen Sie sich jedoch einen allgemeinen Überblick, damit Sie wissen, wo Sie suchen müssen, wenn Sie in Zukunft etwas benötigen. Sie sollten jedoch alle wichtigen Parameter für g++
und kennen ld
(das GCC-Linker-Tool, das automatisch aufgerufen wird, sofern dies nicht ausdrücklich verhindert wird).
Ich bin auch neugierig, haben Sie Code-Vervollständigung und Syntax-Hervorhebung, wenn Sie codieren?
Syntaxhervorhebung: Ja, und eine viel bessere als Visual Studio. Code - Vervollständigung: ja- ish . Zunächst muss ich zugeben, dass ich die C ++ - Code-Vervollständigung auch in Visual Studio nicht verwendet habe, da sie (im Vergleich zu VB und C #) nicht gut genug war. Ich benutze es jetzt nicht oft, aber dennoch unterstützt GVIM die native Code-Vervollständigung für C ++. In Kombination mit der ctags- Bibliothek und einer Plug-in-ähnlichen Tagliste ist dies fast eine IDE.
Eigentlich hat mich ein Artikel von Armin Ronacher dazu gebracht. Schauen Sie sich vor dem Lesen des Textes die Screenshots am Ende an!
Müssen Sie zuerst kompilieren, bevor Sie (Syntax-) Fehler erhalten?
Ja. Dies gilt jedoch auch für Visual Studio, nicht wahr (ich habe noch nie Whole Tomato verwendet)? Natürlich zeigt die Syntaxhervorhebung nicht übereinstimmende Klammern an, aber das ist alles.
und wie debuggen Sie (denken Sie wieder an Haltepunkte usw.)?
Ich benutze gdb
das Kommandozeilen-Tool. Es gibt auch ein grafisches Frontend namens DDD
. gdb
ist ein modernes Debugging-Tool und kann alles, was Sie in einer IDE tun können. Das einzige, was mich wirklich nervt, ist das Lesen einer Stapelverfolgung, da Zeilen nicht eingerückt oder formatiert sind, sodass es wirklich schwierig ist, die Informationen zu scannen, wenn Sie viele Vorlagen verwenden (was ich auch tue). Diese überladen aber auch die Stapelverfolgung in IDEs.
Wie gesagt, ich hatte das 'Vergnügen', meine ersten Schritte in der Java-Programmiersprache mit Windows Notepad und dem Kommandozeilen-Java-Compiler in der High School zu setzen, und es war ... ein Albtraum! sicherlich, wenn ich es mit anderen Programmierkursen vergleichen konnte, hatte ich damals, wo wir anständige IDEs hatten
Sie sollten nicht einmal versuchen, einen modernen Editor mit allen Funktionen wie Emacs oder GVIM mit Notepad zu vergleichen. Notepad ist eine verschönerte TextBox
Steuerung, und das macht wirklich den Unterschied. Darüber hinaus ist das Arbeiten an der Befehlszeile unter Linux und Windows eine ganz andere Erfahrung. Das Windows cmd.exe
ist stark verkrüppelt. PowerShell ist viel besser.
/ EDIT: Ich sollte ausdrücklich erwähnen, dass GVIM die Bearbeitung von Registerkarten hat (wie beim Browsen mit Registerkarten, nicht Tabs-vs-Leerzeichen)! Ich habe ewig gebraucht, um sie zu finden, obwohl sie überhaupt nicht versteckt sind. Geben Sie beim Öffnen oder Erstellen einer neuen Datei einfach :tabe
statt einfach :e
ein, und GVIM erstellt eine neue Registerkarte. Das Wechseln zwischen Registerkarten kann mit dem Cursor oder mehreren verschiedenen Verknüpfungen erfolgen (je nach Plattform). Die Taste gt
(Typ g, dann tim Befehlsmodus) sollte überall funktionieren und springt zur nächsten Registerkarte oder Tab-Nr. n wenn eine Nummer angegeben wurde. Geben Sie ein :help gt
, um weitere Hilfe zu erhalten.