Library oder System-Call?

Smalltalk
Antworten

Was bevorzugt Ihr mehr?

Library
12
92%
System-Call
1
8%
 
Insgesamt abgegebene Stimmen: 13

Benutzeravatar
devilx
Beiträge: 734
Registriert: 26.08.2003 22:57:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Filderstadt
Kontaktdaten:

Library oder System-Call?

Beitrag von devilx » 31.08.2004 22:53:56

Ich stecke gerade etwas in einer Zwickmuehle und wuerde Euch gerne um Eure Meinung bitten: Was bevorzugt Ihr bei einer Application mehr: Wenn sie eine benoetigte Funktion aus einer Library laedt (auf Kosten von weiteren Dependencies) oder wenn sie ein Programm welches die Aufgabe perfekt und ohne Nebenwirkungen erfuellt per system() aufruft (natuerlich zu lasten des sauberen Codes)?

Ich habe folgendes Problem: Ich kann bei meiner Application entweder die GStreamer Library nutzen und den Code damit sauber halten oder ich kann weiterhin den system() Aufruf zum gst-launcher nutzen, was den Abschnitt jedoch zu einem kleinen q&d Hack mutieren laesst.

Danke fuer Eure Meinung.
When you smile, the world smiles with you :)
When you fart, you stand alone :(
... a place full of dorkness

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 31.08.2004 23:04:29

Ich wuerde sagen das Argument mit den Abhaenigkeiten zaehlt nicht wirklich.
Ob ich nun die library brauche, die die Funktionalitaet bereitstellt oder ein Programm, was das tut, bleibt sich ja gleich. Wenn letzteres nicht sogar mehr ist, da das Programm in diesem Falle ja auch auf die library dependet, oder?

Gruss,
Florian

Benutzeravatar
devilx
Beiträge: 734
Registriert: 26.08.2003 22:57:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Filderstadt
Kontaktdaten:

Beitrag von devilx » 01.09.2004 00:42:30

godsmacker hat geschrieben:Ich wuerde sagen das Argument mit den Abhaenigkeiten zaehlt nicht wirklich.
Ob ich nun die library brauche, die die Funktionalitaet bereitstellt oder ein Programm, was das tut, bleibt sich ja gleich. Wenn letzteres nicht sogar mehr ist, da das Programm in diesem Falle ja auch auf die library dependet, oder?

Gruss,
Florian
Auf die Library an sich schon, jedoch nicht auf die Developer files, da das Programm nicht kompilliert werden muss.
When you smile, the world smiles with you :)
When you fart, you stand alone :(
... a place full of dorkness

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 01.09.2004 03:07:31

DevilX hat geschrieben:Auf die Library an sich schon, jedoch nicht auf die Developer files, da das Programm nicht kompilliert werden muss.
Das ist auch nicht Sache des Benutzers, IHMO.

Benutzeravatar
devilx
Beiträge: 734
Registriert: 26.08.2003 22:57:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Filderstadt
Kontaktdaten:

Beitrag von devilx » 01.09.2004 11:06:45

Mag sein, das Programm mit Systemcall wuerde bei einem Fehlen der Binary aber trotzdem noch funktionieren, in meinem Fall ohne Sound. Bei Fehlen der Library wuerde das Lib-Abhaengige Programm jedoch garnicht funktionieren.
Aber ich sehe schon, das bringt nichs :)
Ich werde es wohl doch mit Libraries machen, ein hoch auf shared objects :D
When you smile, the world smiles with you :)
When you fart, you stand alone :(
... a place full of dorkness

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 01.09.2004 13:40:51

Du kannst SOs auch mittels dlopen laden; dann hast du keine zwingende Abhängigkeit beim Programmaufruf.

Benutzeravatar
devilx
Beiträge: 734
Registriert: 26.08.2003 22:57:20
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Filderstadt
Kontaktdaten:

Beitrag von devilx » 01.09.2004 13:47:35

Joghurt hat geschrieben:Du kannst SOs auch mittels dlopen laden; dann hast du keine zwingende Abhängigkeit beim Programmaufruf.
Heh, ja natuerlich. Ich kann mich aber auch selber auspeitschen, was ich aber nicht gedenke zu tun.
:)
When you smile, the world smiles with you :)
When you fart, you stand alone :(
... a place full of dorkness

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 01.09.2004 13:57:10

DevilX hat geschrieben:Heh, ja natuerlich. Ich kann mich aber auch selber auspeitschen, was ich aber nicht gedenke zu tun.:)
Nun, gstreamer ist doch in C geschrieben, IIRC, du hast also zumindest keine Probleme mit Namemangling... Man kann dem Linker, glaube ich, auch sagen, dass bestimmte Libraries optional sind, wie er dann allerdings die Referenzen dazu auflöst, weiss ich jetzt nicht.

Benutzeravatar
bollin
Beiträge: 482
Registriert: 01.11.2003 23:31:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von bollin » 01.09.2004 23:39:56

DevilX hat geschrieben:
Joghurt hat geschrieben:Du kannst SOs auch mittels dlopen laden; dann hast du keine zwingende Abhängigkeit beim Programmaufruf.
Heh, ja natuerlich. Ich kann mich aber auch selber auspeitschen, was ich aber nicht gedenke zu tun.
:)
Du koenntest auch via XML-Webservice SOAP-maessig mit dem Programm kommunizieren. Aber vielleicht ist selber auspeitschen dann doch angenehmer. ;-)

Viele Gruesse,
Torsten

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 02.09.2004 01:05:56

Hi,

schon mal was von bedingter Compilierung gehört, wenn die Lib da ist, wird mit Sound compiliert, wenn nicht ohne - fertig.


Gruß

Dookie

Antworten