Differenze tra le versioni di "Creare una "Libreria condivisa" (Shared Library) .so"

Da Gambas-it.org - Wikipedia.
 
(52 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''".
 
 
 
 
 
==Elementi distintivi delle ''Librerie condivise''==
 
Le ''Librerie condivise'' posseggono un nome chiamato "''soname''", costituito a sua volta 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>
 
 
 
 
 
Vi è, poi, 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 .
 
 
 
 
 
==Realizzazione pratica di una ''Libreria condivisa''==
 
 
 
 
 
 
 
 
 
 
 
<FONT color=#FF0000><B>- Pagina in costruzione -</b></font>
 

Versione attuale delle 19:13, 23 set 2022