Newsgroup: it.comp.os.linux.development
Titolo: libs

Rieccomi, finalmente, dopo un bel po' di tempo di assenza su questo ng a causa
pdel passaggio da BeOS a Linux e dell'eliminazione di questo gruppo dal server
da cui si rifornisce il mio provider (poi ho scoperto che ci hanno inserito un
".os" :-) )
Dunque... probabilmente l'hanno gia' chiesto in 10000, quindi e' gradito
l'indirizzo di faq e tutorial: come si creano librerie su Linux ?  Mi
interessano sia quelle statiche che quelle dinamiche.
Bye.

interessano sia quelle statiche che quelle dinamiche.
Statiche: niente di particolare, metti insieme i .o con ar.
Dinamiche: compili con -fPIC (quindi devi compilare una seconda volta!)
e poi usi un target tipo:
libxxx.so: $(OBJS)
        $(CC) -o libxxx.so \
                -shared -Wl,-soname,libxxx.so -lc -laltralibreria $(OBJS)
E` importante usare un soname sensato, i dettagli dipendono da cosa
vuoi fare.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

interessano sia quelle statiche che quelle dinamiche.
A parte quello che ti ha consigliato Marco, io utilizzo il trio
automake-autoconf-libtool, e ci pensano loro a compilare con i giusti
parametri (sono fatti apposta). Ti consiglio di guardarli
--
 (o-  | HomePage 
http://pinguin.linuxbox.com
 //\  | email: r.salmaso (at) 
flashnet.it
 V_/_ | email: pinguin (at) 
pinguin.linuxbox.com

 vuoi fare.
Beh, volevo scrivere un sistema di librerie con trattare in modo centralizzato
piu' tipi di file possibile, un po' come i datatypes su Amiga, ma piu' esteso.
In poche parole un programma tramite la mia libreria apre un file, ne ottiene
delle informazioni e ne decodifica il contenuto. Tramite l'uso di
sottolibrerie che la libreria principale carica quando necessario (a
proposito, come si fa ?) sara' possibile leggere/scrivere file sonori,
immagini, testi, animazione, file compressi, crittati, ecc.
Sono ancora molto indeciso su come strutturare il tutto...
Bye.

Sono ancora molto indeciso su come strutturare il tutto...
Anche perche` non e` chiaro come deve reagire un editor di testo quando
lo usi per aprire una animazione...


 lo usi per aprire una animazione...
L'editor controlla se può trattare il tipo di dato contrnuto nel file. Se non
lo e' ti risponde "ah pirla, 'zzo mi fai leggere ?!?" (il testo e' a
discrezione del programmatore). :)
Bye.

 Con dlopen.
Uff, niente man :(
Bye.

discrezione del programmatore). :)
Visto che la quasi totalita` dei programmi (controesempi?) gestisce solo
un certo tipo di dati (testo semplice, immagini, ecc) credo che si sia
scelta la strada di gestirli all'interno di librerie piu` specializzate
come imlib.


Uff, niente man :(
Come no?
md@wonderland:tty1:~$apropos dlopen
dlopen (3)           - Programming interface to dynamic linking loader.
md@wonderland:tty1:~$


lo usi per aprire una animazione...
Suggerisco una ASCII art con Tafazzi che spiega come qualmente l'
operazione tentata sia Male ("L'utente ha eseguito una operazione
non valida e il suo account sara' terminato").
Leonardo
".signature": bad command or file name

 Come no?
No... guardero' se mi manca qualche rpm.
Bye.

 come imlib.
Ma c'e' solo la imlib. Non ho visto nulla di simile che tratti altri tipi di
files.
Bye.

files.
Scrivile tu. :-)
Oltre all'audio non mi sembra che ci siano altri tipi di dati per cui
valga la pena e/o sia possibile costruire una astrazione.


 valga la pena e/o sia possibile costruire una astrazione.
Sull'Amiga i datatype gestivano quasi tutti i tipi di dato. Solo che li' era
un po' piu' complesso perche' il datatype conteneva anche il codice per poter
visualizzare il file e tante altre cose. Su Linux non posso farlo perche' non
esiste una GUI standard ne' una interfaccia standard per il suono. Diciamo
anche che non voglio complicarmi troppo la vita.
Bye.

visualizzare il file e tante altre cose. Su Linux non posso farlo perche' non
Ah... Allora vuoi scrivere dei widget per gnome e/o del codice
interfacciabile via CORBA.


 No... guardero' se mi manca qualche rpm.
[root@fokhouse /root]# rpm -qf /usr/man/man3/dlopen.3
ld.so-1.9.5-11
[root@fokhouse /root]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)