Aufgabe 4: clash

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe 4: clash
Hallo,

ich hätte ein eher dringendes Problem zur clash. Und zwar bekomme ich mit den von unserem Tutor vorgeschriebenen Compiler-Flags -pedantic und -Werror die plist nicht gebaut. Ich habe dies auch schon im CIP versucht, auch da klappt es nicht. Das Problem liegt dabei scheinbar an der Funktion strdup, die meinen Recherchen nach nicht Standardkonform ist und deswegen durch die obigen Flags nicht compiled.

Darf ich den Code von strdup durch eine eigene Funktion ersetzen, oder die Compiler-Flags opfern? Oder gibt es eine noch bessere Methode?


Kann es sein, dass du nicht mit [m]-D_XOPEN_SOURCE=700[/m] kompilierst?


oh ja, thx.


Hi,

ich komme mit der Verwendung der plist nicht so ganz klar.
In Java würde ich einfach
plist list = new plist();
machen - ich weiß, in C geht das so nicht.
Wie verwende ich die plist? Einfach plist.h includen? Aber wie komme ich dann z.B. aufs erste Element?
Mein Problem ist das “Vor Ausgabe eines neuen Prompt alle Hintergrundprozesse mal durchschauen, ob sie schon beendet sind. Wenn ja, Exitstatus ausgeben.” Ich würde also meine Liste, in der ich die ganzen Hintergrundprozesse mit pid und cmdline speichere, einfach jedes Mal bevor ich einen neuen Prompt erzeuge von vorne bis hinten durchgehen und eben schauen, ob der jeweilige Prozess schon fertig ist.
Prinzipiell also
while(head.next!=null) {
//Prüfen […]
head=head.next;
}
aber wie komme ich an den head? Bzw. funktioniert das überhaupt so, wie ich mir das vorstelle?


Du kannst die Funktionen, die in [m]plist.h[/m] definiert werden, verwenden. Die plist muss nicht instanziiert werden und funktioniert ab dem ersten Aufruf von [m]insertElement()[/m]