Hallo Forumgemeinde, ich habe eine Frage wie ich meine .c und .h Dateien richtig in meine Projekte einbinden kann. Ich brauche z.B. in einem neuen Projekt zum testen ein LCD. Ich habe aber mehrere LCD’s und somit auch unterschiedliche .c und .h Dateien zur Verfügung. Da gibt z.B. die "hd44780" .c und .h Datei, oder die "T6963C" .c und .h Datei. Ich habe auf meiner Festplatte folgende Ordnerstruktur: …[WINAVR] [My_includes] [lcd] Lcd.h [hd44780] hd44780.c hd44780.h [t6963c] t6963c.c t6963c.h … [Projekte] [Projekt1] [Projekt2] … Wenn ich jetzt ein neues Projekt anfange, dann wäre es super wenn ich einfach nur noch die "lcd.h" in das Projekt einbinde. Dort habe ich dann über: #if defined(HD44780) #include <lcd\hd44780\hd44780.h> … Die unterschiedlichen .c und .h Dateien eingebunden. So wie ich mir das aber vorgestellt habe, geht es nicht da ich in dem neuen Projekt dann noch die "hd44780.c" Datei mit einbinden muss. Es ist mir schon klar, dass der Compiler diese Datei braucht aber wenn ich diese Datei einbinden muss dann kann ich auch gleich die .h Datei einbinden und mir das ganze mit der globalen "lcd.h" sparen. Was mir noch eingefallen ist, man könnte eine einzige "lcd.c" und "lcd.h" Datei erstellen und dann dort für jede Funktion über "#ifdef…" abfragen welchen Quellcode ich möchte aber so ist das alles andere als übersichtlich. Das will ich sicherlich nicht. Ich hoffe Ihr hier im Forum wisst was ich meine… Ich würde gerne irgendwo eine Definition machen und dann wird automatisch die richtige .c und .h Datei "compeliert" Ich hoffe ihr könnt mir weiterhelfen… Viele Grüße, Marcel
Marcel K. schrieb: > Was mir noch eingefallen ist, man könnte eine einzige "lcd.c" und > "lcd.h" Datei erstellen und dann dort für jede Funktion über "#ifdef…" > abfragen welchen Quellcode ich möchte Genau so würde ich das machen. Zumindest war das mein erster Gedanke, als ich angefangen habe dein Problem zu lesen. > so ist das alles andere als > übersichtlich. Ja, aber nur im lcd.c Derjenige der die lcd.c benutzt, hat damit ja nichts zu tun. Von daher wäre es vertretbar. Im Zweifelsfall ist immer die einfache Verwendung im Vordergrund.
Hallo Karl heinz. Du bist einer von denen die ja richtig viel Ahnung haben. Wie machst du denn das?? Wie bindest du z.B. ein Display in ein neues Projekt ein? Kopierst du dir die "aktuelle" .c und .h Datei vom letzten Projekt und bindest sie dann dort ein oder hast du einen "globalen"- Platz wo die Datei gespeichert ist und bindest sie über diesen Pfad ein?? Grüße, Marcel
Marcel K. schrieb: > "globalen"- Platz wo die Datei gespeichert ist und bindest sie über > diesen Pfad ein?? Über den Pfad. Allerdings habe ich immer denselben Typ von LCD :-) Aber wenn ich mehrere hätte, würde ich das mittels #ifdef und #include lösen. Auch beim lcd.c
Hmmm, das ist echt ne schwere Entscheidung!! Ich habe z.B. auch das EA_DIP204 im SPI-Mode. Wenn ich dieses Display auch noch mit einbinden möchte dann explodiert die Übersichtlichkeit! Ich denke es ist dann echt besser wenn ich jedes Display über den Pfad einbinde und es nicht über eine globale .h Datei mache! Außerdem, wenn ich jemanden meinen Quellcode z.B. zum T6963C schicken will dann müsste ich den ganzen Rest mit schicken. Das ist nicht so toll!! :o( Naja ich sage mal Danke für deine Hilfe... Viele Grüße, marcel
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.