Mittwoch, 15. Juli 2015

Bibliotheken in C

In diesem Tutorial geht es darum, wie man eine C Bibliothek erstellt, und wie man dann diese, oder eine fremde Bibliothek, in das C Programm einbindet. Durch eine Bibliothek kann man Befehlesdefinitionen auslagern. Dadurch lassen sich Aufgaben, die oft wiederholt werden müssen, mit nur einer Zeile Code ausführen.

Das Erstellen einer eigenen Bibliothek

Um eine eigene Bibliothek zu erstellen, klickt man im Atmel Studio auf File > New > Project. Im jetzt erscheinenden Menü muss man C Static Library Project auswählen.
Nun hat man das übliche Textfeld. Um jetzt eine Funktion zu definieren, darf man den Text aber nicht in die main Funktion schreiben, sondern man muss eine eigene Funktion erstellen. Hier findet ihr ein Tutorial, wie man eine eigene Funktion definiert. Kurz zusammengefasst: Erst Rückgabedatentyp (bei nichts void), dann Name mit den mitgegebenen Variablen samt Datentyp in Klammern und in den geschweiften Klammern den eigentlichen Code der Funktion. Ich habe eine Beispiel Bibliothek erzeugt, die den Mittelwert aus zwei Zahlen erzeugt. Der Code dazu sieht so aus:


Über den Befehl return kann man dann am Ende einer Funktion eine Variable zurückgeben. Nun kann man einfach auf speichern drücken und schon ist die eigene Bibliothek fertig.

Einbinden einer Bibliothek

Nun muss man seine Bibliothek (oder ein Fremde) in das eigentliche Programm einbinden, um die definierten Funktionen zu verwenden. Dazu tippt man am Anfang des Programms nach #include <avr/io.h> einfach den Befehl #include "Pfad zur Bibliotheksdatei" ein. Davor müsst ihr dementsprechend den Pfad zur gewünschten Bibliothek herausfinden. Wenn sich im Ordner eine Headerdatei (.h) befindet solltet ihr diese einbinden, wenn nicht, bindet ihr direkt die C Datei ein. Um beispielsweise meine Durchschnitts_errechnen Bibliothek einzubinden, und zu verwenden, verwendet man den folgenden Code:

Keine Kommentare:

Kommentar veröffentlichen

Mit dem Veröffentlichen eines Kommentars erklären Sie sich mit unserer Datenschutzerklärung einverstanden.
https://michaelsarduino.blogspot.de/p/datenschutzerklarung.html