Hallo, ich habe das (wahrscheinlich total lächerliche) Problem, dass nirgendwo steht, wo man eine Bibliothek, die man grade braucht, ablegen muss. Ich habe AVR Studio 4 und WinAVR. MfG Peter
Du hast das Problem, dass du gar nicht weißt, was eine Bibliothek eigentlich ist, würde ich mal sagen. Ein Headerfile kann das Interface zu einer Bibliothek definieren, aber eine Bibliothek ist es deshalb noch lange nicht. Eine solche besteht aus vorcompilierten Objektmodulen, die vom Linker bei Bedarf (wenn eins der vom Modul definierten Symbole gelinkt werden muss) reingezogen werden. Inwiefern eine Bibliothek im Sinne kleiner Controller überhaupt Sinn hat, ist eine andere Frage. Die Quellcode-Module sind ja hier so schnell compiliert, dass der wesentliche Vorteil einer Bibliothek, durch die Objektmodule Compilier-Zeit zu sparen, hier kaum ins Gewicht fällt. Wo man die entsprechenden Dateien (Header und Bibliotheken) im Dateisystem ablegt, dafür gibt es keinen wirklichen Standard.
Ok, habs kapiert :) Gefunden habe ich den Ordner inzwischen sowieso. Gruß Peter
Jörg Wunsch schrieb: > Ein Headerfile kann das Interface zu einer Bibliothek definieren, > aber eine Bibliothek ist es deshalb noch lange nicht. Naja, wenn ich mir die boost-Library teilweise so anschaue mit ihren .hpp Dateien... ;-)
Mark Brandis schrieb: > Naja, wenn ich mir die boost-Library teilweise so anschaue mit ihren > .hpp Dateien... ;-) hpp? Auch C++-Headerdateien kann man einfach auf .h enden lassen, aber der C++-Standard bevorzugt mittlerweile ja die endungslose Version, und die STL ist natürlich ein ähnlich gelagerter Fall. Ja, ich wollte noch dazu schreiben "normalerweise", hab's dann nur sein gelassen, um die Verwirrung nicht noch größer werden zu lassen. Auch die avr-libc hat einige Dinge, die sie komplett in Header- Dateien abwickelt, ohne echten Bibliothekscode zusätzlich liefern zu müssen.
Peter schrieb: > Gefunden habe ich den Ordner inzwischen sowieso. Wenn das der Ort ist, wo die mit dem Compiler mitgelieferten Headerdateien sind -- da gehört Deine Datei definitiv nicht hin.
Jörg Wunsch schrieb: > hpp? Jupp, die heißen da so. Warum genau weiß ich nicht, vielleicht eine Mischung aus .h und .cpp? Jedenfalls wird da sehr viel mit Templates gearbeitet.
Libraries wäre auch mal einen Blick wert, wobei da ja die dynamischen Bibliotheken ausgelassen werden. Jörg Wunsch schrieb: > Ein Headerfile kann das Interface zu einer Bibliothek definieren Welche gäbe es denn noch? Jörg Wunsch schrieb: > hpp? hh gibt es ja auch...
ole schrieb: >> Ein Headerfile kann das Interface zu einer Bibliothek definieren > Welche gäbe es denn noch? Beispielsweise solche, die einfach nur Konstanten definieren, oder solche wie <util/setbaud.h> in der avr-libc, die Hilfsmakros für die Baudrateneinstellung der seriellen Schnittstelle enthält.
Jörg Wunsch schrieb: > ole schrieb: >>> Ein Headerfile kann das Interface zu einer Bibliothek definieren >> Welche gäbe es denn noch? > Beispielsweise solche, die einfach nur Konstanten definieren, oder > solche wie <util/setbaud.h> in der avr-libc, die Hilfsmakros für die > Baudrateneinstellung der seriellen Schnittstelle enthält. Ach so rum meinst du das, ich dachte es gäbe noch andere Interface-Varianten zu Bibliotheken, also Alternativen zu Header-Dateien.
ole schrieb: > Jörg Wunsch schrieb: >> ole schrieb: >>>> Ein Headerfile kann das Interface zu einer Bibliothek definieren >>> Welche gäbe es denn noch? >> Beispielsweise solche, die einfach nur Konstanten definieren, oder >> solche wie <util/setbaud.h> in der avr-libc, die Hilfsmakros für die >> Baudrateneinstellung der seriellen Schnittstelle enthält. > Ach so rum meinst du das, ich dachte es gäbe noch andere > Interface-Varianten zu Bibliotheken, also Alternativen zu > Header-Dateien. Ich denke, der springende Punkt ist eigentlich der, dass das was wir hier in der µC-Programmierung gerne als 'Bibliothek' bezeichnen, in Wirklichkeit gar keine ist. Eine Library ist ein Sammlung vorcompilierter Funktionen, die mit einem Librarian in eine Bibliothek zusammengestellt werden. Anstatt dem Linker alle Object-Files einzeln anzugeben, wirft man ihm dann einfach die Libtrary vor und der Linker holt sich von dort die Funktionen raus die er braucht. Was wir hier normalerweise haben, könnte man mit beiden Augen zugedrückt bestenfalls noch als Source Code Library bezeichnen. Aber im Regelfall ist es einfach nur so, dass man seine Source Code Files, vielleicht noch nach Themenkreisen geordnet, einfach nur in einer Verzeichnishierarchie seiner Wahl unterbringt und den jeweils benötigten Source Code zum jeweiligen Projekt hinzufügt, wo er dann in jedem einzelnen Projekt erneut compiliert wird. Mit einer Library, aka. Bibliothek, so wie dieses Wort im Rest der Programmierwelt benutzt wird, hat das aber wenig zu tun.
Karl Heinz Buchegger schrieb: > ole schrieb: >> Jörg Wunsch schrieb: >>> ole schrieb: >>>>> Ein Headerfile kann das Interface zu einer Bibliothek definieren >>>> Welche gäbe es denn noch? >>> Beispielsweise solche, die einfach nur Konstanten definieren, oder >>> solche wie <util/setbaud.h> in der avr-libc, die Hilfsmakros für die >>> Baudrateneinstellung der seriellen Schnittstelle enthält. >> Ach so rum meinst du das, ich dachte es gäbe noch andere >> Interface-Varianten zu Bibliotheken, also Alternativen zu >> Header-Dateien. > Ich denke, der springende Punkt ist eigentlich der, dass das was wir > hier in der µC-Programmierung gerne als 'Bibliothek' bezeichnen, in > Wirklichkeit gar keine ist. Ja, wenn ich mich richtig erinnere ist Peter-Fleury-Lib auch nicht richtig... Den Teil hatte ich schon richtig verstanden, nur Jörg Wunschs Kommentar hatte ich in dem Teil "Ein Headerfile kann das Interface zu einer Bibliothek definieren", da dachte ich, es gäbe noch andere Möglichkeiten auf eine Lib zu zugreifen.
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.