|
|
(48 versioni intermedie di 2 utenti non mostrate) |
Riga 1: |
Riga 1: |
− | ===Introduzione===
| + | #REDIRECT [[Come creare una Libreria condivisa (Shared Library) .so]] |
− | In Gambas possono essere richiamate con la funzione ''Extern'' le cosiddette "''Librerie condivise''" (''Shared Library'') con estensione finale .so . Esse sono librerie esterne a Gambas, scritte in C o C++, che offrono potenzialità, funzionalità e risorse non disponibili eventualmente al momento con Gambas.
| |
− | | |
− | Le ''Librerie condivise'' sono delle librerie che vengono caricate dai programmi al loro avvio.
| |
− | | |
− | E' possibile creare da sé una ''Liberia condivisa .so'' ed utilizzarla con uno o più dei nostri programmi dei Gambas, richiamandola, come sappiamo, con la funzione "''Extern''". Per realizzare una ''Liberia condivisa .so'' sarà necessario avere dimistichezza ed adeguata conoscenza con il linguaggio C o con il C++.
| |
− | | |
− | | |
− | ==Elementi distintivi delle ''Librerie condivise''==
| |
− | Riguardo alle ''Librerie condivise'' si distinguono tre tipi di nomi.
| |
− | | |
− | Il pprimo tipo di nome è chiamato "''soname''", costituito in ordine da:
| |
− | * il prefisso <FONT color=#B22222>''lib''</font>;
| |
− | * il <FONT color=#0000FF>nome</font> della libreria;
| |
− | * l'estensione <FONT color=#B22222>''.so''</font>;
| |
− | * un <FONT color=#0000FF>punto</font> e il <FONT color=#0000FF>numero della versione</font>.
| |
− | | |
− | | |
− | Esempio: <FONT color=#B22222>lib</font><FONT color=#0000FF>nomequalsiasi</font><FONT color=#B22222>.so</font><FONT color=#0000FF>.0</font>
| |
− | | |
− | | |
− | Il secondo tipo di nome è chiamato ''nome reale'', il quale non è altro che il file contenente il codice della libreria. Il ''nome reale'' della Liberia è costituito a sua volta in ordine da:
| |
− | * il prefisso ''lib'';
| |
− | * il nome della libreria;
| |
− | * l'estensione ''.so'';
| |
− | * un punto, un numero, poi un punto ed infine il numero del rilascio.
| |
− | | |
− | | |
− | Vi è, infine, il nome che il compilatore usa, quando viene richiamata ed utilizzata una ''Liberia condivisa''. Tale nome non è altro il ''soname'' privo di qualsiasi numero di versione. Questo file non è altro che un collegamento simbolico al ''soname'' più recente della Libreria. Se, dunque, per esempio il ''soname'' della ''Liberia condivisa'' è ''/usr/lib/libnomequalsiasi.so.1'' , il file con il nome del collegamento simbolico a tale ''soname'' sarà: /usr/lib/libnomequalsiasi.so .
| |
− | | |
− | | |
− | Pertanto riassumendo in ipotesi avremo:
| |
− | * '''''soname''''': libnomequalsiasi.so.1
| |
− | * '''''nome reale''''': libnomequalsiasi.so.1.0
| |
− | * '''''nome del collegamento simbolico''''': libnomequalsiasi.so
| |
− | | |
− | | |
− | ==Realizzazione pratica di una ''Libreria condivisa''==
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | <FONT color=#FF0000><B>- Pagina in costruzione -</b></font>
| |