Hallo Leute! Da ich in die Welt der µC langsam aber sicher immer mehr hineinwachse, habe ich begonnen wichtige Funktionen, wie z.B. Ansteuerung eines Temperaturbausteines oder Treiber für serielle Kommunikation, als Bibliotheksfunktionen anzulegen. Und genau aus diesem Grund hoffe ich auf eure Erfahrungen, im Umgang mit diesen Bibliotheken. Es ist nämlich so, dass die Bibliotheken in einem eigenen Verzeichnis abgelegt sind. Die einzelnen Bibliotheken bestehen aus einem *.c-File, in welchem sich die Funktionen befinden und einem *.h-File, in welchem sich bestimmte #Defines befinden, die auf das jeweilige Programm angepasst werden können. Aus diesem Grund muss das H-File in das jeweilige Programmverzeichnis kopiert werden. Das C-File jedoch bleibt im Bibliotheksordner. Der Compiler holt sich das File beim Compilieren einfach. Was haltet ihr von meiner Architektur? Ist sie zu empfehlen oder nicht? Sollte man nicht alle Bibliotheken, die ein Programm verwendet in das Programmverzeichnis kopieren? 1: Der Vorteil bei meiner Methode ist, dass wenn ich im Bibliotheksverzeichnis das C-File verändere, habe ich die aktuelle Version im Programm, wenn ich es compiliere. Der Nachteil ist, dass man das Programm nicht so einfach weitergeben kann, da ja entsprechende Programmteile im Bibliotheksordner stecken. 2: Wenn ich es jetzt so machen würde, dass ich alle benötigten Bibliotheken eines Programms direkt in das Programmverzeichnis kopieren würde, dann hätte eine Veränderung der Bibliotheksfunktion im Biblhiotheksordner keine Auswirkung auf das Programm, da sich dieses ja die Bibliotheksfunktion aus dem eigenen Programmverzeichnis holt. Welche von diesen beiden Methoden wird in der Praxis häufiger angewandt und wo liegen hier weitere Vor- oder Nachteile? Oder gibt es vielleicht noch eine dritte, viel bessere Möglichkeit für die Verwaltung der Bibliotheken? Danke für eure Antworten. Tschüss, Martin
Ich kopiere eigene Bibliothken immer in das Projekt mit rein. Der Grund ist der, daß bei Änderungen an den Bibliotheken nicht klar ist, ob dann auch noch alle alten Programme laufen. So hat man aber die Garantie, daß man immer die original lauffähige Version eines Projekts hat. Auch werden damit Änderungen an den Bibliotheken durch die Versionskontrolle des jeweiligen Projekts erfaßt. Peter
Du hast recht, dass ist ein gutes Argument, denn es kann natürlch auch durch eine nachträgliche Änderung vorkommen, dass plötzlich ein altes Programm nicht mehr läuft, sich anders verhält oder plötzlich nicht mehr ins Flash passt. Erklär mir das bitte mit der Versionskontrolle etwas genauer. Tschüss, Martin
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.