verständnisfrage plugins

Alles rund um die Programmierung mit Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

verständnisfrage plugins

Beitrag von anno1988 »

hallo zusammen,

ich hätte da eine Verständnisfrage zu den Plugins http://doc.trolltech.com/4.7/plugins-howto.html.

Nehmen wir mal an ich habe ein Plugin, das eine bestimmte Aufgabe übernimmt. Könnte man in solch einem Plugin dann weitere Plugins laden.
Technisch geht das ja sicherlich. Ist nur die Frage ob das auch Sinn macht.

Ich hatte mir das einfach als eine weitere logische Unterteilung des Moduls gedacht.
Oder sollte man davon besser die Finger lassen?

edit:

Oder eine andere Frage dazu.

geht es, im programm eine library zu laden und diese dann auch in den plugins zu nutzen?
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Re: verständnisfrage plugins

Beitrag von solarix »

anno1988 hat geschrieben: Nehmen wir mal an ich habe ein Plugin, das eine bestimmte Aufgabe übernimmt. Könnte man in solch einem Plugin dann weitere Plugins laden.
Technisch geht das ja sicherlich. Ist nur die Frage ob das auch Sinn macht.
Ja, das kann schonmal vorkommen.. stell dir vor eine Applikation hat ein Soundbackend als Plugin realisiert.. Dann könnte doch ein Soundbackend z.B. die Formate (MP3, WAV, OGG usw) auch als Plugins nachladen (siehe z.B. "fmod").

anno1988 hat geschrieben: geht es, im programm eine library zu laden und diese dann auch in den plugins zu nutzen?
Auch das geht und macht auch Sinn. Ein Plugin-Interface z.B. kann schon alleine ein Grund sein, eine gemeinsame Library (gelinkt gegen die Applikation und gegen die Library) zu erstellen.

hth!
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Re: verständnisfrage plugins

Beitrag von anno1988 »

solarix hat geschrieben:
anno1988 hat geschrieben: geht es, im programm eine library zu laden und diese dann auch in den plugins zu nutzen?
Auch das geht und macht auch Sinn. Ein Plugin-Interface z.B. kann schon alleine ein Grund sein, eine gemeinsame Library (gelinkt gegen die Applikation und gegen die Library) zu erstellen.

hth!
Wie muss das dann aber gemacht werden. Liege ich da richtig, dass man einfach in jedem Plugin die Header files der library beim Compilieren einbindet und dann beim Programmstart die plugins ladet. somit ist dann die library im modul geladen. wenn ich die library dann noch im Programm benötige, mache ich es da eben so.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: verständnisfrage plugins

Beitrag von franzf »

anno1988 hat geschrieben:Wie muss das dann aber gemacht werden. Liege ich da richtig, dass man einfach in jedem Plugin die Header files der library beim Compilieren einbindet und dann beim Programmstart die plugins ladet. somit ist dann die library im modul geladen. wenn ich die library dann noch im Programm benötige, mache ich es da eben so.
Ein Plugin ist auch nur eine Shared Lib. Damit die ordentlich vom Linker (nach dem Kompilieren) zusammengeklebt werden kann, müssen alle verwendeten Symbole auffindbar sein. Demnach musst du auch das Plugin gegen jene SharedLib linken, die die benötigten Symbole zur Verfügung stellt.
Macht Qt bei seinen Plugins auch, schau hier:

Code: Alles auswählen

$  ldd /usr/lib/qt4/plugins/imageformats/libqgif.so | grep Qt
	libQtGui.so.4 => /usr/lib/qt4/libQtGui.so.4 (0xb6d34000)
	libQtCore.so.4 => /usr/lib/qt4/libQtCore.so.4 (0xb6a93000)
Antworten