James Bonddraht schrieb:
> Hallo Experten,
>
> ich bin auf der Suche nach Büchern zu den Themen GCC, Makefile und
> Linkerskripten! Dabei interessiere ich mich vor allem für die praktische
> Anwendung im Bereich Mikrocontroller, Unix mit C und C++.
>
> Ich möchte Makefiles und Linkerskripte schreiben und verstehen können.
> Zudem möchte ich alle wichtigen gcc Flags und Möglichkeiten
> kennenlernen.
Die erste Referenz ist natürlich immer die Dokumentation der jeweiligen
Software selbst. Bücher find ich da nicht so prickelnd, weil dien
Autoren i.d.R die Software nicht selber (mit)entwickelt haben und sich
beim Schreiben der Bücher auf die Doku der jeweiligen Software
zurückgeworfen sind. Sieht dann zwar etwas hübscher aus im Buch, aber
das war es dann auch...
Zudem wird GCC ständig weiterentwickelt. Wenn du in einem GCC-Buch was
suchst zu "Transactional Memory in GCC" wirst wohl nicht viel finden,
weil ein Buch zu langsam ist und schwerlich mithalten kann mit der
Entwicklung.
> ps: Woher habt ihr euer Wissen ?
1) Doku lesen. Oft reicht ein Überfliegen, so dass man im entscheidenden
Moment weiß "da gibt's doch was von..." und dann kann man dort
nachschauen. Allerdings sollte für dieses Überfliegen auch genügend
Zeit eingeplant werden. Die GCC-Doku z.B. ist recht fett, und man kann
locker 1 Tag mit dem Überfliegen zubringen -- manchmal liest man
Interessantes ja auch ausgiebiger oder hängt an schwer verständlichen
Stellen oder will was konkretes ausprobieren.
2) Learning by Doing. Was nicht heißt blind rumzuprobieren oder zu
clicken. Gerade komplexe Software ich nicht immer intuitiv. Wenn man
z.B. die die Idee von make begriffen hat und denkt es ist eine
Skriptsprache, sind Missverständnisse und Ärger und Frust
vorprogrammiert.
3) Mitarbeit (bei mir nur GCC, dort avr Backend) Ein Blick unter die
Haube ist auch beim Anwenden der Software durchaus hilfreich.
4) Für Fragen, die ins Eingemachte gehen, Mailinglisten wie
gcc-help@gcc.gnu.org [1]. Hier sind die entsprechenden Regeln und die
Netiquette zu beachten, dafür bekommt man Antworten von den Entwicklern
der Software selbst. Ausserdem ist zu beachen: Diese Mailinglisten sind
nicht für Fragen zu C oder C++ etc. sondern für Fragen zu GCC (Schalter,
Optimierungen, Probleme mit configure, ...)
[1] http://gcc.gnu.org/ml