Hallo Chris,
Zitat Zitat von Siro Beitrag anzeigen
Das kann nicht nur sein, sondern das ist so....

Wenn ich aus einer H-Datei nix brauche, includiere ich sie niemals. Sollte man das tun ?
Du musst das so betrachten.

1. Man schreibt irgendein Modul, welches teilweise Funktionen bereit stellt, welche aus anderen Modulen benutzt werden können.
2. Man schreibt zu diesem Modul eine Header-Datei, welche alles enthält, was zum externen Aufruf benötigt wird. Also natürlich die Funktionen, aber auch öffentliche Konstanten und Variablen-Konstrukte.
3. Überall wo dann dieses Modul verwendet werden soll, wird die Header-Datei includiert.
4. Damit der Compiler auch überprüfen kann, dass Header und Modul zusammenpassen, includiert man diese auch im Modul!
5. Alle Funktionen welche in dem Modul nicht öffentlich sein sollen, declariert man als static, dann kann diese auch der Linker nicht finden und man darf die selben Namen auch in einem anderen Modul verwenden.

So wird der Code auch für andere übersichtlicher, besonders wenn man etwas anpassen muss:
Alle Funktionen und Variablen welche als static deklariert sind, kann man problemlos anpassen ohne auf Aufrufe aus anderen Modulen acht geben zu müssen.
Alles was öffentlich verwendet wird ist in der Header-Datei und der Compiler kann überprüfen ob es passt.

MfG Peter(TOO)