Hallo Ich habe gerade versucht Funktionen in Headerdateien auszulagern. Wie macht ihr die Wertübergabe. Nach meines Wissens ersetzt der Comp. den Befehl 'inclu.... durch den Inhalt des headerdatei. Liege ich richtig, oder habe ich etwas verdreht. Dann könnte ich alse die global Variablen in der Headerdatei anlegen. Gibt es etwas grundlegendes, wenn ich "Sachen" auslagern möchte.
Hans, in header Dateien packt man nur die interfaces anderer Komponenten. Also nicht ganze Funktionen sondern nur deren Prototyp. Der pre-processor ersetzt vor dem kompilieren das include statement durch den Inhalt der entsprechenden Datei. Vermeide globale Variablen wo du nur kannst um deine code Struktur sauber zu halten (information hiding). Auslagern von Funktionalitaet macht man mir libraries, nicht header files.
> Vermeide globale Variablen wo du nur kannst um deine code Struktur > sauber zu halten (information hiding). So spricht der Informatiker. Der langjährige Embedded-Programmierer wird (auf Grund der möglichen Ressourceneinsparung) diese Aussage oft, sehr oft relativieren... Für das "information hiding" kann er sich nämlich sowieso nix kaufen, seine Software ist ein abgeschlossenes Ganzes, das er nur selbst benutzt und sonst niemand. Für die eingesparten Ressourcen kann er sich u. U. aber einiges kaufen (indem man z. B. im fertigen Projekt dann mit dem nächstkleineren Prozessor auskommt).
Hallo Ich habe gerade ein Problem mit der Deklaration von einer String-Varible. Wenn ich es so wie im Anhang machen funkt es. Wenn ich aber in der Headerdatei die Varable einen Wert zuteilen möchte weigert er sich. Warscheinlich ist der Grund, das der Befehl in einer Funktion stehen muß z.B. main(). Gibt es eine möglichkeit das ich den Startwert schon vorher geben kann. Auch das mit char temp["Hallo"]; haut nicht hin. Gruß
Im Header Menue.h ****************** extern char Temp_Char00[9]; /* Deklaration, wenn du hier eine * Initialisierung angibst, wird aus * der Dekleration eine Definition, auch * wenn das ganze 'extern' ist (extern * wird in so einem Fall dan ignoriert */ in main.c ********* #include "Menue.h" char Temp_Char00[9] = "Hallo"; int main() { ... }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.