tom schrieb:
> so jetzt will ich ne lib draus machen.
Und nachmal die Frage.
Was genau verstehst du unter Lib.
Auf einem Desktoprechner ist die Sache klar. Compilier die Einzelteile
und stell sie mit dem Librarien zu einer Lib zusammen.
Aber auf den hier gebräuchlichen µC wird der Begriff 'Library' auch
gerne anders verwendet und hat mit dem was man gemeinhin unter einer
Library versteht nichts zu tun.
> Wie kriegt die lib die funktionen readSPI(char adresse, char länge)
> und void getTime(void);
Die braucht sie nicht.
Genau deswegen erfolgt das Erstellen eines kompletten Programms in 2
Schritten.
Erst werden die Source Code Files zu Object Code (Maschinencode)
compiliert.
Und erst dann werden die einzelnen Object Code Teile zusammen mit
Libraries zum kompletten Programm zusammengelinkt.
Erst im Linkerschritt müssen dann tatsächlich alle Einzelteile vorhanden
sein. Selbst wenn ich jetzt davon ausgehe, dass du eine tatsächliche
Object-Library baust, ist es für die Library kein Problem, wenn einzelne
Teile fehlen, denn die Library selbst muss nicht in sich vollständig
sein. Sie ist ja nur eine Zutat, aus der der Linker dann das Programm
zusammenbaut.
Der Prozess des Erstellens einer echten Object-Library erfolgt aber nach
dem Erstellen der Object Code Files. Eine Library ist in dieser hinsicht
einfach nur ein Container, in dem mehrere compilierte Object Files
hineinkopiert werden und aus der sich der Linker die Teile holen kann,
die er benötigt. Im 2 stufigen Erstellungsprozesses sitzt das Erstellen
einer Lib als genau in der Mitte, zwischen Compilieren und Linken.