Forum: Mikrocontroller und Digitale Elektronik Bibliotheken verwalten


von Martin (Gast)


Lesenswert?

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

von Peter Dannegger (Gast)


Lesenswert?

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

von Martin (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.