Stefan schrieb:
> Hallo.
>
> Ich möchte für ein AVR-Projekt eine zentrale header-Datei anlegen, in
> der alle notwendigen includes vorgenommen werden.
> (Bsp.: "sleep.h", "stdint.h", "avr/io.h"....)
> Dieser Header soll dann in alle Module eingebunden werden.
>
> Wiederspricht irgendetwas dieser Praxis?
Das ist die Rundumschlagmethode
> Ich meine mich daran zu
> erinnern dass man das net machen soll...
Auf einem AVR ist es höchst wahrscheinlich egal, weil du nicht mehr als
sagen wir mal 6 bis maximal 10 Header haben wirst. D.h. von der
Compiliergeschwindigkeit spielt das kaum eine Rolle
> ...weiss aber nichtmehr warum.
Weil es dem halben Mechanismus des getrennten Compilierens einzelner *.c
Files konträr läuft. De Facto hast du damit in allen *.c Files alle
Header includiert, ob du sie im jeweiligen File brauchst oder nicht. Bei
einer Änderung in einem einzigen Header File wird dir Make daher alle
*.c Files nachcompilieren. Und das ist dann, wenn Projekte größer werden
(>100 Files) nicht mehr Sinn der Sache.
Aber: wozu soll das gut sein?
Die 5 bis 6 Header, die man auf einm AVR in einem *.c File includiert,
hat man doch auch zu Fuss in unter 30 Sekunden hingeschrieben. Meistens
ist es so, dass solche Ideen von Programmierern kommen, die den
Überblick verloren haben und daher einfach einen Rundumschlag machen, in
der Hoffnung, dass sich dann alles von selbst erledigt.