KSP Aufgabe 0

1. Entwerfen Sie ein C-Programm "njvm.c", das nur aus der Funktion int main(int argc, char *argv[]) besteht und beim Aufruf die beiden Strings "Ninja Virtual Machine started\n" und "Ninja Virtual Machine stopped\n" ausgibt.

2. Modifizieren Sie Ihr Programm aus 1. so, dass es alle Kommandozeilenargumente vor den beiden Strings ausgibt.

3. Modifizieren Sie Ihr Programm aus 1. so, dass das Programm sowohl sinnvoll auf die Kommandozeilenargumente "--version" und "--help" reagiert als auch unbekannte Argumente zurueckweist. Sie koennen die folgende Referenzimplementierung als Vorbild fuer das Verhalten Ihres Programms nehmen (machen Sie das Programm nach dem Download ggf. mit "chmod +x njvm" ausfuehrbar, bevor Sie es mit "./njvm" aufrufen):
njvm

Hinweise

1. Verwenden Sie den C-Compiler "gcc" mit den Compilerschaltern "-g -Wall -std=c89 -pedantic" und beheben Sie alle Fehler und Warnungen, die der Compiler evtl. ausgibt. Wenn Sie eine Warnung ignorieren wollen, muessen Sie EXAKT erklaeren koennen, warum diese spezielle Warnung in diesem speziellen Fall wirklich unschaedlich ist.

2. Sie beginnen bereits in dieser Uebung, das Programm zu entwickeln, das Sie am Ende des Semesters als Ihre zweite Hausuebung abgeben werden und das dann einen erheblichen Umfang haben wird. Bemuehen Sie sich also schon jetzt um Klarheit in der Programmierung, ausreichend viele und aussagekraeftige Kommentare, konsistentes Einruecken, usw.