Dr. Andreas Borchert Institut für Angewandte Informationsverarbeitung 23. November 2009
Wolfgang Kaifler / Michael Mattes Blatt 7


[c]



Systemnahe Software I
im Wintersemester 2009/2010



Abgabetermin: 01. Dezember 2009

18 Umgang mit Makefiles (12 Punkte)

Auf der Homepage finden Sie ein Archiv beispiel.tgz mit einem kleinen modularisierten Programm. Mit Hilfe von make soll schrittweise eine ausführbare Datei erzeugt werden. Deren Name soll im Makefile als Variable definiert sein.

Schreiben Sie das Makefile und achten Sie darauf, dass bei Änderungen nur die unbedingt notwendigen Schritte neu ausgeführt werden.

Implementieren Sie weiterhin eine Möglichkeit, zur Ausführung nicht benötigte Dateien (z.B. die Objektdateien) zu löschen.

Kommentieren Sie das Makefile!

19 Kommandozeilenargumente (12 Punkte)

Die main-Funktion wurde bisher immer mit leerer Argumentliste deklariert: int main(). Allerdings bekommt die Funktion mehrere Argumente, die bisher ignoriert wurden. Die volle Argumentliste sieht so aus1:

int main(int argc, char **argv) bzw. int main(int argc, char *argv[])

Schreiben Sie ein Programm argsort.c, welches auf der Kommandozeile bis zu 20 Zahlen entgegennimmt, sie mittels der Standardbibliotheksfunktion qsort absteigend(!) sortiert und das Ergebnis ausgibt.

Hinweis: man atoi

Viel Erfolg!



Fußnoten

... aus1
In Unix-Systemen sowie in manchen Compilern unter Windows (z.B. Microsoft Visual C++) gibt es ein weiteres Argument, welches aber erst in Systemnahe Software II interessant wird.


Wolfgang Kaifler 2009-11-23