Andere Bibliotheken einlinken

Beispiel max_sh

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.

Andere Bibliotheken einlinken
Wir sollen ja die CFLAGS verwenden, die auf dem ersten Übungsblatt standen. Das hab ich auch so verstanden, dass wir - wenn nicht angegeben - auch keine externen Bibliotheken verwenden dürfen. Jetzt hab ich gesehen dass max_sh TAB-Vervollständigung kann und auf readline getippt, was ldd auch bestätigt. Wie sieht die Sache auf unserer Seite aus? Dürfen wir das auch? :wink:

Hä?
Wir müssen ISO-C Programmieren also hiermit auskommen. Oder hab ich da was falsch verstanden?!


ANSI und POSIX hat’s geheißen. Darum hab ich das eben so verstanden, dass die beiden Standards reichen müssen…
Dem gegenüber steht eben readline in max_sh. :moody:


ich glaub’ der Mensch, der das max_sh verbrochen hat, braucht den Schein
nicht mehr so sehr dringend :slight_smile:
Aber mal abgesehen davon - sein mini_sh benutzt das readline nicht.
Ansonsten kommt’s bei solchen Extratouren wohl auf die Laune des
korrigierenden Uebungsleiters an :smiley:

Aber im Ernst: bei der shell hier ist das natuerlich jetzt reichlich egal -
und mit readline funktioniert sie etwas schoener. ABER: stellt euch mal vor,
ihr bekommt von einem Auftraggeber den Auftrag ein Stück Software
fuer eine bestimmte Umgebung gemaess einer bestimmten Spezifikation
zu bauen. Und dann liefert ihr was ab, was schoener ist, aber nicht der Spec
entspricht und am Ende moeglicherweise in der vorgesehenen Zielumgebung
gar nicht funktioniert (weil da die Library vielleicht nicht verfuegbar ist).
Da waere nicht jeder Auftraggeber begeistert.

Andererseits: wie viel Gedanken soll sich ein SW-Entwickler noch machen,
wenn er die Spec schon vorliegen hat? Macht er sich keine mehr, ist das
sicher schlecht. Faengt er wieder an ueber die vorgegebene Spec zu
diskutieren, kann das in groesseren Projekten auch ganz schoen nervig
werden und damit Zeit und Geld kosten.

Auch wenn der Aufhänger für das Problem trivial ist, haben wir hier ein
ganz klassisches Beispiel für eine Situation, die in der SW-Entwicklung
häufig vorkommt und oft eine echte Gratwanderung zwischen
wertvoll und nervig ist.

Jedenfalls muesste man die Frage mit dem Auftraggeber (=Uebungsleiter)
besprechen, ob die verbesserte Lösung den Zielen noch entspricht.


da komm ich jetzt gerade nicht ganz mit:

ANSI C definiert doch so wie ich das verstanden habe “gültigen” syntax von C, im gegensatz z.b. zu K&R C

und POSIX definiet doch die system calls, also wie anwendungen mit dem betriebssystem kommunizieren. z.B. read(…), write(…), fork(), exec(…) usw., die in einer nicht-POSIX-konformen umgebung eben anders heißen/aufgerufen werden. schon klar, damit ist für ein POSIX system ein mindestumfang an bibliotheken definiert… aber schließt das aus, das wir andere, vorhandene bibliotheken benutzen dürfen? oder stand irgendwo wir dürfen nur das benutzen, was die glibc bietet (wenn ja dann hab ich das wohl überlesen :red: :wink: )
:listen: