Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-09-04 16:58:09

  Matthew - Użytkownik

Matthew
Użytkownik
Skąd: Lipka/Gdańsk (PG)
Zarejestrowany: 2006-06-09
Serwis

Pisanie wtyczek (*.so)

Czy ktoś ma na tym polu jakieś doświadczenie, tudzież materiały?

Offline

 

#2  2007-09-04 20:22:53

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: Pisanie wtyczek (*.so)

.so to nie wtyczka tylko biblioteka wspoldzielona. poczytaj sobie o opcji gcc -shared


apt-get install anarchism

Offline

 

#3  2007-09-04 20:57:37

  Prezu - Moderator

Prezu
Moderator
Skąd: Vancouver, BC
Zarejestrowany: 2005-06-02

Re: Pisanie wtyczek (*.so)

Czy ktoś ma na tym polu jakieś doświadczenie, tudzież materiały?

Jeśli porgramujesz w Qt, to polecam:
http://doc.trolltech.com/4.3/plugins-howto.html

Jeśli kdelibs, to KPluginLoader na http://api.kde.org będzie dobrym startem. Chociaż dokumentacja Qt jest duuużo lepsza i polecam tam zacząć. Możesz też podejrzeć gotową implementację (chodź nie jest to stricte KDE'owa ani Qt'owa) w Kadu.

Wszystkie wspomniane przeze mnie wtyczkownie oparte są na bibliotekach dzielonych (czyli .so w linuksie).

Offline

 

#4  2007-09-04 22:04:35

  Matthew - Użytkownik

Matthew
Użytkownik
Skąd: Lipka/Gdańsk (PG)
Zarejestrowany: 2006-06-09
Serwis

Re: Pisanie wtyczek (*.so)

.so to nie wtyczka tylko biblioteka wspoldzielona. poczytaj sobie o opcji gcc -shared

Mój błąd... chciałem system wtyczek opartych na bibliotekach. Czyli w gruncie żeby obsługę so.

@Prezu: dowiedziałem się, że do obsługi bibliotek współdzielonych służy libdl. Wiesz coś na ten temat? Bo moje wtyczki nie musiałyby być strict Qt.

Offline

 

#5  2007-09-06 21:17:26

  Prezu - Moderator

Prezu
Moderator
Skąd: Vancouver, BC
Zarejestrowany: 2005-06-02

Re: Pisanie wtyczek (*.so)

Nie, obsługa dzielonych bibliotek jest w libc6. Luknij tu: dlopen(3).
Np:

Kod:

handle = dlopen("jakas_biblioteka.so", RTLD_NOW | RTLD_GLOBAL);
wsk_na_funkcje = dlsym(Handle, "nazwa_funkcji");
wsk_na_funkcje(jakies, parametry);

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)